Files
JIMRI/help/fr/html/doc/Technical/SystemStructure.shtml
2026-06-17 14:00:51 +02:00

112 lines
4.6 KiB
Plaintext

<!DOCTYPE html>
<html lang="fr">
<!-- Updated by Blorec Herv&#233; 2016-08-15-->
<head>
<title>JMRI: System Structure</title>
<meta name="author" content="Bob Jacobsen">
<meta name="keywords" content="JMRI technical system add">
<!--#include virtual="/help/fr/parts/Style.shtml" -->
</head>
<body>
<!--#include virtual="/help/fr/parts/Header_fr.shtml" -->
<div id="mBody">
<!--#include virtual="Sidebar.shtml" -->
<div id="mainContent">
<!-- Page Body -->
<h1>JMRI: Structure du Syst&#232;me</h1>
Historiquement, les syst&#232;mes ne sont pas dispos&#233;s de cette fa&#231;on, de sorte que le
code existant peut ne pas &#234;tre un bon exemple.
<p>
Vouloir exposer tr&#232;s peu au-dessus du paquet jmrix.
<p>
Le Noyau de base est le code de communication, souvent un "trafficmanager"
<p>
Les outils doivent aller dans un sous-ensemble Swing
<p>
Les types de connexion sp&#233;cifiques pour un seul protocole peuvent aller dans des
sous-r&#233;pertoires.
<p>
R&#244;le de ConnectionConfig, SystemConnectionMemo
<p>
ActiveFlag obsol&#232;te
<p>
Voir aussi la page
<a href="MultiConnectionUpdate.shtml">Mettre &#224; jour ces Connexions Multiples</a>.
<h2> S&#233;quence d'Initialisation </h2>
Cette section d&#233;crit la mise en oeuvre de la nouvelle configuration syst&#232;me de LocoNet (2010)
. "NN" se r&#233;f&#232;re &#224; par exemple le locobuffer, ou pr3 ou, classe de
connexion sp&#233;cifique similaire .
<ol>
<li>jmri.jmrix.loconet.NN.configurexml.ConnectionConfigXml est invoqu&#233;
par le m&#233;canisme de configurexml lorsque la classe sp&#233;cifique est nomm&#233;e dans un
fichier d'entr&#233;e XML.</li>
<li> L'objet ConnectionConfigXml
est un descendant de la classe jmri.jmrix.configurexml.AbstractConnectionConfigXml,
qui invoque la m&#233;thode getInstance () de celui-ci (et non la m&#233;thode statique)
dans sa m&#233;thode de chargement () pour charger la variable "adaptateur" avec un membre
* Adaptateur sp&#233;cifique de classe, par exemple, MS100Adapter.</li>
<li> ult&#233;rieurement, apr&#232;s que le port soit (esp&#233;rons le) en place,
AbstractConnectionConfigXml invoque la m&#233;thode de configuration() de l'Adaptateur.</li>
<li> Que la m&#233;thode de configuration () de l'Adaptateur fait, dans l'ordre
(ce qui a &#233;t&#233; remani&#233;e dans LocoNetSystemConnectionMemo
lui-m&#234;me, de sorte que cette liste doit être r&#233;organis&#233;e )
<ol>
<li> configurez Paketiser/port/etc en fonction des besoins
<li>configureCommandStation() &#224; partir LnPortController
<li>configureManagers() &#224; partir LnPortController,
mais par exemple de substitution dans PR3Adapter.
<li>faire toute autre initialisation de son propre chef, par exemple StartThreads()
<p>
&#192; ce stade, le syst&#232;me est fondamentalement pr&#234;t &#224; fonctionner.
<li> Enfin,un objet jmri.jmrix.loconet.LocoNetSystemConnectionMemo
est cr&#233;&#233; et enregistr&#233; avec le InstanceManager.</li>
</ol>
</li>
<li>Plus tard, jmri.jmrix.ActiveSystemsMenu et/ou jmri.jmrix.SystemsMenu
veulent cr&#233;er des menus utilisateur, et trouve l'objet LocoNetSystemConnectionMemo
dans l'InstanceManager</li>
<li>Le code menu demande l'objet sp&#233;cifique SystemConnectionMemo
pour cr&#233;er et retourner le menu. Il le fait, dans le processus
reliant chaque action &#224; lui-m&#234;me de telle sorte que les diff&#233;rents outils
seront en mesure de se connecter au bon, par exemple: TrafficController,
SlotMonitor, etc</li>
<li> Quand une Action est d&#233;clench&#233;e par la suite, la(es) classe(s) invoqu&#233;e (es) se renseignent aupr&#232;s
de LocoNetSystemConnectionMemo quand elles ont besoin d'une ressource,
au lieu de se r&#233;f&#233;rer &#224; un exemple () dans la classe de
ressource.</li>
</ol>
Pour adapter un type, par exemple, Aiguillage:
<ol>
<li> Le gestionnaire Basique doit avoir getSystemPrefix en plus de la lettre</li>
<li> ProxyManager doit v&#233;rifier le pr&#233;fixe du syst&#232;me, pas la lettre</li>
</ol>
<h2>D&#233;marrage de l'Application</h2>
<p>La classe apps.SampleMinimalProgram fournit un exemple minimale de d&#233;marrage d'un programme
qui utilise JMRI. Il obtient une configuration cod&#233;e du r&#233;seau. Voir les commentaires
internes pour plus de d&#233;tails.</p>
<p>
Les applications JMRI elles-mêmes utilisent un m&#233;chanisme "profile" plus puissant
qui a h&#233;rit&#233; des classes apps.Apps et apps.AppsBase.</p>
<!--#include virtual="/help/fr/parts/Footer_fr.shtml" -->
</div><!-- closes #mainContent-->
</div> <!-- closes #mBody-->
<script src="/js/help.js"></script>
</body>
</html>