112 lines
4.6 KiB
Plaintext
112 lines
4.6 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<!-- Updated by Blorec Hervé 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ème</h1>
|
|
|
|
Historiquement, les systèmes ne sont pas disposés de cette façon, de sorte que le
|
|
code existant peut ne pas être un bon exemple.
|
|
<p>
|
|
Vouloir exposer trè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écifiques pour un seul protocole peuvent aller dans des
|
|
sous-répertoires.
|
|
<p>
|
|
Rôle de ConnectionConfig, SystemConnectionMemo
|
|
<p>
|
|
ActiveFlag obsolète
|
|
<p>
|
|
Voir aussi la page
|
|
<a href="MultiConnectionUpdate.shtml">Mettre à jour ces Connexions Multiples</a>.
|
|
|
|
<h2> Séquence d'Initialisation </h2>
|
|
|
|
Cette section décrit la mise en oeuvre de la nouvelle configuration système de LocoNet (2010)
|
|
. "NN" se réfère à par exemple le locobuffer, ou pr3 ou, classe de
|
|
connexion spécifique similaire .
|
|
|
|
<ol>
|
|
<li>jmri.jmrix.loconet.NN.configurexml.ConnectionConfigXml est invoqué
|
|
par le mécanisme de configurexml lorsque la classe spécifique est nommée dans un
|
|
fichier d'entrée XML.</li>
|
|
|
|
<li> L'objet ConnectionConfigXml
|
|
est un descendant de la classe jmri.jmrix.configurexml.AbstractConnectionConfigXml,
|
|
qui invoque la méthode getInstance () de celui-ci (et non la méthode statique)
|
|
dans sa méthode de chargement () pour charger la variable "adaptateur" avec un membre
|
|
* Adaptateur spécifique de classe, par exemple, MS100Adapter.</li>
|
|
|
|
<li> ultérieurement, après que le port soit (espérons le) en place,
|
|
AbstractConnectionConfigXml invoque la méthode de configuration() de l'Adaptateur.</li>
|
|
|
|
<li> Que la méthode de configuration () de l'Adaptateur fait, dans l'ordre
|
|
(ce qui a été remaniée dans LocoNetSystemConnectionMemo
|
|
lui-même, de sorte que cette liste doit être réorganisée )
|
|
<ol>
|
|
<li> configurez Paketiser/port/etc en fonction des besoins
|
|
<li>configureCommandStation() à partir LnPortController
|
|
<li>configureManagers() à partir LnPortController,
|
|
mais par exemple de substitution dans PR3Adapter.
|
|
<li>faire toute autre initialisation de son propre chef, par exemple StartThreads()
|
|
<p>
|
|
À ce stade, le système est fondamentalement prêt à fonctionner.
|
|
<li> Enfin,un objet jmri.jmrix.loconet.LocoNetSystemConnectionMemo
|
|
est créé et enregistré avec le InstanceManager.</li>
|
|
</ol>
|
|
</li>
|
|
|
|
<li>Plus tard, jmri.jmrix.ActiveSystemsMenu et/ou jmri.jmrix.SystemsMenu
|
|
veulent créer des menus utilisateur, et trouve l'objet LocoNetSystemConnectionMemo
|
|
dans l'InstanceManager</li>
|
|
|
|
<li>Le code menu demande l'objet spécifique SystemConnectionMemo
|
|
pour créer et retourner le menu. Il le fait, dans le processus
|
|
reliant chaque action à lui-même de telle sorte que les différents outils
|
|
seront en mesure de se connecter au bon, par exemple: TrafficController,
|
|
SlotMonitor, etc</li>
|
|
|
|
<li> Quand une Action est déclenchée par la suite, la(es) classe(s) invoquée (es) se renseignent auprès
|
|
de LocoNetSystemConnectionMemo quand elles ont besoin d'une ressource,
|
|
au lieu de se référer à 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érifier le préfixe du système, pas la lettre</li>
|
|
</ol>
|
|
|
|
<h2>Démarrage de l'Application</h2>
|
|
|
|
<p>La classe apps.SampleMinimalProgram fournit un exemple minimale de démarrage d'un programme
|
|
qui utilise JMRI. Il obtient une configuration codée du réseau. Voir les commentaires
|
|
internes pour plus de détails.</p>
|
|
<p>
|
|
Les applications JMRI elles-mêmes utilisent un méchanisme "profile" plus puissant
|
|
qui a hérité 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>
|