ChatApp-AL-NM/Javadoc/chatapp/Controller/ChatApp.html
2021-01-24 12:44:43 +01:00

631 lines
29 KiB
HTML

<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (13-ea) on Sun Jan 24 12:44:02 CET 2021 -->
<title>ChatApp</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2021-01-24">
<meta name="description" content="declaration: package: chatapp.Controller, class: ChatApp">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
<script type="text/javascript" src="../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-files/index-1.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<a id="skip.navbar.top">
<!-- -->
</a>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">chatapp.Controller</a></div>
<h1 title="Class ChatApp" class="title">Class ChatApp</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">chatapp.Controller.ChatApp</div>
</div>
<section class="description">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.beans.PropertyChangeListener</code>, <code>java.util.EventListener</code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">ChatApp</span>
extends java.lang.Object
implements java.beans.PropertyChangeListener</pre>
<div class="block"><p> Controller de l'application. C'est par cette méthode que chaque connexion et chaque session sont entamées.
<br>Les différents attributs sont:
<br> - actifsUsers: qui est la liste des utilisateurs actifs actuellement et connus par l'application
<br> - me: qui est l'instance de la classe Utilisateur représentant l'utilisateur se connectant via cette instance de chatapp
<br> - main: l'application de l'interface graphique qui s'occupe d'instancier chatapp
<br> - runnerEcouteTCP: instance de runnerEcouteTCP, Thread permettant de recevoir des demandes de clavardage
<br> - runnerEcouteUDP: instance de runnerEcouteUDP; Thread permettant de communiquer en UDP pour recevoir les demandes de connexion, deconnexion, changements de pseudo et leurs réponses associées
<br> - connecte: booleen indiquant si l'on est connecté sur le reseau ou non
<br> - db: instance permettant de se connecter à la base de donnees centralisée
</p></div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String,java.lang.Integer,javafx.application.Application)">ChatApp</a></span>&#8203;(java.lang.String&nbsp;pseudo,
java.lang.Integer&nbsp;port,
javafx.application.Application&nbsp;main)</code></th>
<td class="colLast">
<div class="block">Constructeur de l'application de chat</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t1" class="tableTab" onclick="show(1);">Static Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#activerEcouteTCP()">activerEcouteTCP</a></span>()</code></th>
<td class="colLast">
<div class="block">Lance un thread pour écouter les requêtes TCP
<br> Informe le pcs que chatapp écoute les notifications qu'il envoie</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#activerEcouteUDP()">activerEcouteUDP</a></span>()</code></th>
<td class="colLast">
<div class="block">Lance le thread pour réceptionner les requetes UDP</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#connexion(java.lang.String)">connexion</a></span>&#8203;(java.lang.String&nbsp;pseudo)</code></th>
<td class="colLast">
<div class="block">Méthode permettant d'appeler la fonction de connexion adequate selon que l'on est en externe ou en interne</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>java.lang.Boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#connexionInterne(java.lang.String)">connexionInterne</a></span>&#8203;(java.lang.String&nbsp;pseudo)</code></th>
<td class="colLast">
<div class="block">Méthode appelée lors de la connexion de l'utilisateur en INTERNE,
<br> Va prevenir les autres utlisateurs du réseau de l'arrivée de l'utilisateur sur celui-ci</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deconnexion()">deconnexion</a></span>()</code></th>
<td class="colLast">
<div class="block">Méthode appelée lors de la déconnexion de l'utilisateur.</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deconnexionInterne()">deconnexionInterne</a></span>()</code></th>
<td class="colLast">
<div class="block">Methode appelee lors de la deconnexion en INTERNE de l'utilisateur.</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#demarrerSession(java.lang.String)">demarrerSession</a></span>&#8203;(java.lang.String&nbsp;pseudo)</code></th>
<td class="colLast">
<div class="block">Démarre une session de clavardage avec l'utilisateur dont le pseudo est entré en parametre</div>
</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code><a href="../Model/ListUtilisateurs.html" title="class in chatapp.Model">ListUtilisateurs</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getActifUsers()">getActifUsers</a></span>()</code></th>
<td class="colLast">
<div class="block">Getter : actifUsers (Liste des utilisateurs actifs)</div>
</td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>static <a href="ChatApp.html" title="class in chatapp.Controller">ChatApp</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInstance()">getInstance</a></span>()</code></th>
<td class="colLast">
<div class="block"> Methode permettant de récupérer l'instance de chatapp qui a ete créée au préalable</div>
</td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>static <a href="ChatApp.html" title="class in chatapp.Controller">ChatApp</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInstance(java.lang.String,java.lang.Integer,javafx.application.Application)">getInstance</a></span>&#8203;(java.lang.String&nbsp;pseudo,
java.lang.Integer&nbsp;port,
javafx.application.Application&nbsp;main)</code></th>
<td class="colLast">
<div class="block">Methode permettant de créer qu'une seule instance de chatapp</div>
</td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>javafx.application.Application</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMain()">getMain</a></span>()</code></th>
<td class="colLast">
<div class="block"> Getter : Main
Permet de récuperer stage de l'interface graphique qui a crée l'instance</div>
</td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code><a href="../Model/Utilisateur.html" title="class in chatapp.Model">Utilisateur</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMe()">getMe</a></span>()</code></th>
<td class="colLast">
<div class="block">Getter : Chatapp</div>
</td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isConnecte()">isConnecte</a></span>()</code></th>
<td class="colLast">
<div class="block"> Getter : Connecte
<br> Permet de savoir si l'on est connecté</div>
</td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isExterne()">isExterne</a></span>()</code></th>
<td class="colLast">
<div class="block"> Getter : Externe
<br> Permet de savoir si on est en externe ou en interne</div>
</td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#modifierPseudo(java.lang.String)">modifierPseudo</a></span>&#8203;(java.lang.String&nbsp;nouveau)</code></th>
<td class="colLast">
<div class="block">Methode appelée pour modifier le pseudo et fait appel a la fonction adequate selon que l'on est en interne ou en externe</div>
</td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code>java.lang.Boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#modifierPseudoInterne(java.lang.String)">modifierPseudoInterne</a></span>&#8203;(java.lang.String&nbsp;nouveau)</code></th>
<td class="colLast">
<div class="block">Modification du pseudo de l'utilisateur en INTERNE
<br> Envoie en broadcast ses informations utilisateurs et son nouveau pseudo</div>
</td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#propertyChange(java.beans.PropertyChangeEvent)">propertyChange</a></span>&#8203;(java.beans.PropertyChangeEvent&nbsp;evt)</code></th>
<td class="colLast">
<div class="block">Handler des différents évenements que chatapp écoute</div>
</td>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setExterne(boolean)">setExterne</a></span>&#8203;(boolean&nbsp;externe)</code></th>
<td class="colLast">
<div class="block"> Setter : Externe
<br> Permet de définir si on est un utilisateur externe ou non</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(java.lang.String,java.lang.Integer,javafx.application.Application)">ChatApp</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">ChatApp</span>&#8203;(<span class="arguments">java.lang.String&nbsp;pseudo,
java.lang.Integer&nbsp;port,
javafx.application.Application&nbsp;main)</span></div>
<div class="block"><p>Constructeur de l'application de chat</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pseudo</code> - Pseudo de l'utilisateur</dd>
<dd><code>port</code> - Port de communication</dd>
<dd><code>main</code> - L'Application main</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="isConnecte()">isConnecte</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">isConnecte</span>()</div>
<div class="block"><p> Getter : Connecte
<br> Permet de savoir si l'on est connecté</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>TRUE si connecté FALSE sinon</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getInstance(java.lang.String,java.lang.Integer,javafx.application.Application)">getInstance</a></h3>
<div class="memberSignature"><span class="modifiers">public static</span>&nbsp;<span class="returnType"><a href="ChatApp.html" title="class in chatapp.Controller">ChatApp</a></span>&nbsp;<span class="memberName">getInstance</span>&#8203;(<span class="arguments">java.lang.String&nbsp;pseudo,
java.lang.Integer&nbsp;port,
javafx.application.Application&nbsp;main)</span></div>
<div class="block"><p>Methode permettant de créer qu'une seule instance de chatapp</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pseudo</code> - Le pseudonyme que l'on souhaite donner à l'utilisateur</dd>
<dd><code>port</code> - Le port auquel on souhaite réceptionner les requêtees UDP</dd>
<dd><code>main</code> - Le stage de l'interface graphique qui crée l'instance</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Une instance de chatapp</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getInstance()">getInstance</a></h3>
<div class="memberSignature"><span class="modifiers">public static</span>&nbsp;<span class="returnType"><a href="ChatApp.html" title="class in chatapp.Controller">ChatApp</a></span>&nbsp;<span class="memberName">getInstance</span>()</div>
<div class="block"><p> Methode permettant de récupérer l'instance de chatapp qui a ete créée au préalable</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>L'instance de chatapp</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="modifierPseudo(java.lang.String)">modifierPseudo</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">modifierPseudo</span>&#8203;(<span class="arguments">java.lang.String&nbsp;nouveau)</span>
throws <span class="exceptions">java.io.IOException</span></div>
<div class="block"><p>Methode appelée pour modifier le pseudo et fait appel a la fonction adequate selon que l'on est en interne ou en externe</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nouveau</code> - Nouveau pseudo avec lequel on souhaite se renommer</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>TRUE si la modification du pseudo a réussi, FALSE sinon</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="modifierPseudoInterne(java.lang.String)">modifierPseudoInterne</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.Boolean</span>&nbsp;<span class="memberName">modifierPseudoInterne</span>&#8203;(<span class="arguments">java.lang.String&nbsp;nouveau)</span>
throws <span class="exceptions">java.io.IOException</span></div>
<div class="block"><p>Modification du pseudo de l'utilisateur en INTERNE
<br> Envoie en broadcast ses informations utilisateurs et son nouveau pseudo</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nouveau</code> - Le Nouveau pseudo</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>False si modiferPseudo a échoué, True sinon</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="connexion(java.lang.String)">connexion</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">connexion</span>&#8203;(<span class="arguments">java.lang.String&nbsp;pseudo)</span>
throws <span class="exceptions">java.io.IOException</span></div>
<div class="block"><p>Méthode permettant d'appeler la fonction de connexion adequate selon que l'on est en externe ou en interne</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pseudo</code> - Le pseudo avec lequel l'on souhaite se connecter</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True si la connexion a ete autorisée, false sinon</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="connexionInterne(java.lang.String)">connexionInterne</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">java.lang.Boolean</span>&nbsp;<span class="memberName">connexionInterne</span>&#8203;(<span class="arguments">java.lang.String&nbsp;pseudo)</span>
throws <span class="exceptions">java.io.IOException</span></div>
<div class="block"><p>Méthode appelée lors de la connexion de l'utilisateur en INTERNE,
<br> Va prevenir les autres utlisateurs du réseau de l'arrivée de l'utilisateur sur celui-ci</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pseudo</code> - Le pseudonyme avec lequel l'utilisateur souhaite se connecter</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>False si Connexion a échoué, True sinon</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="activerEcouteTCP()">activerEcouteTCP</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">activerEcouteTCP</span>()</div>
<div class="block"><p>Lance un thread pour écouter les requêtes TCP
<br> Informe le pcs que chatapp écoute les notifications qu'il envoie</p></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="demarrerSession(java.lang.String)">demarrerSession</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">demarrerSession</span>&#8203;(<span class="arguments">java.lang.String&nbsp;pseudo)</span></div>
<div class="block"><p>Démarre une session de clavardage avec l'utilisateur dont le pseudo est entré en parametre</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pseudo</code> - Le pseudo de l'utilisateur avec lequel on souhaite communiquer</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="activerEcouteUDP()">activerEcouteUDP</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">activerEcouteUDP</span>()</div>
<div class="block"><p>Lance le thread pour réceptionner les requetes UDP</p></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="deconnexion()">deconnexion</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">deconnexion</span>()
throws <span class="exceptions">java.io.IOException</span></div>
<div class="block"><p>Méthode appelée lors de la déconnexion de l'utilisateur.
<br>La methode va appeler la fonction adequate selon que l'on est en interne ou en externe</p></div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="deconnexionInterne()">deconnexionInterne</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">deconnexionInterne</span>()
throws <span class="exceptions">java.io.IOException</span></div>
<div class="block"><p>Methode appelee lors de la deconnexion en INTERNE de l'utilisateur.
<br>Il va prevenir les utilisateurs du reseau de son depart.</p></div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getMe()">getMe</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../Model/Utilisateur.html" title="class in chatapp.Model">Utilisateur</a></span>&nbsp;<span class="memberName">getMe</span>()</div>
<div class="block">Getter : Chatapp</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Utilisateur associée a ChatApp</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getActifUsers()">getActifUsers</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../Model/ListUtilisateurs.html" title="class in chatapp.Model">ListUtilisateurs</a></span>&nbsp;<span class="memberName">getActifUsers</span>()</div>
<div class="block">Getter : actifUsers (Liste des utilisateurs actifs)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Liste des utilisateurs actifs associée a ChatApp</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="propertyChange(java.beans.PropertyChangeEvent)">propertyChange</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">propertyChange</span>&#8203;(<span class="arguments">java.beans.PropertyChangeEvent&nbsp;evt)</span></div>
<div class="block"><p>Handler des différents évenements que chatapp écoute</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>propertyChange</code>&nbsp;in interface&nbsp;<code>java.beans.PropertyChangeListener</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>evt</code> - L'évenement qui a ete indiqué par le pcs</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getMain()">getMain</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">javafx.application.Application</span>&nbsp;<span class="memberName">getMain</span>()</div>
<div class="block"><p> Getter : Main
Permet de récuperer stage de l'interface graphique qui a crée l'instance
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Le stage de l'interface graphique qui a crée l'instance</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="isExterne()">isExterne</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">isExterne</span>()</div>
<div class="block"><p> Getter : Externe
<br> Permet de savoir si on est en externe ou en interne</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>TRUE si Externe FALSE sinon</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setExterne(boolean)">setExterne</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setExterne</span>&#8203;(<span class="arguments">boolean&nbsp;externe)</span></div>
<div class="block"><p> Setter : Externe
<br> Permet de définir si on est un utilisateur externe ou non</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>externe</code> - TRUE si Externe FALSE sinon</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-files/index-1.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>