Avec l'exemple 3 et les suivants, on n'utilise plus de singleton. Donc on va voir un exemple simple d'utilisation du service normal.
À noter que cet exemple fait la même chose que les exemples précédents.
Pour commencer, voyons les options du fichier .axl
:
SimpleTableOutputExample3.axl
Dans le .axl
, on déclare juste l'utilisation d'un service implémentant l'interface Arcane::ISimpleTableOutput.
Voici le .arc
correspondant :
SimpleTableOutputExample3.arc
Ici, par rapport à l'exemple précédent, on remplit les options dans la partie service. On demande l'utilisation du service SimpleCsvOutput
avec les deux options qu'il demande.
Voyons le point d'entrée start-init
:
SimpleTableOutputExample3Module.cc
Par rapport à l'exemple précédent, on n'a pas besoin de récupérer un pointeur vers un singleton ; ici c'est un service utilisé normalement.
Toujours par rapport à l'exemple précédent, c'est le service qui gère les valeurs par défaut.
.arc
partie service. Si vous ne mettez pas de valeurs dans les options tableDir
et tableName
, il y aura quand même écriture. C'est à gérer par le module pour le moment.Voyons le point d'entrée compute-loop
:
SimpleTableOutputExample3Module.cc
Mis à part le remplacement du pointeur de singleton par l'utilisation des options du module, il n'y a pas de différences avec les deux précédents exemples.
Enfin, voyons le point d'entrée exit
:
SimpleTableOutputExample3Module.cc
Ici, on se contente d'écrire le fichier de sortie (et de print le tableau). Si l'on souhaite agir sur l'écriture ou non du fichier via le .arc
, c'est ici qu'on peut le faire en conditionnant l'appel à writeFile() avec un if()
.