Singleton
Pour une utilisation en tant que singleton (même objet pour tous les modules) :
Placer ces lignes dans le .config de votre projet :
<singleton-services>
<service name="SimpleCsvComparator" need="required" />
</singleton-services>
Et dans votre/vos module(s) :
#include <arcane/ISimpleTableComparator.h>
Interface de classe représentant un comparateur de tableaux. À utiliser avec un service implémentant ...
virtual bool compareWithReference(Integer rank=-1, bool compare_dimension_too=false)=0
Méthode permettant de comparer l'objet de type ISimpleTableOutput aux fichiers de réferences.
virtual void init(ISimpleTableOutput *simple_table_output_ptr)=0
Méthode permettant d'initialiser le service.
Classe utilitaire pour instantier un service d'une interface donnée.
InterfaceType * getSingleton(eServiceBuilderProperties properties=SB_None)
Instance singleton du service implémentant l'interface InterfaceType.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Service
Pour une utilisation en tant que service (objet different pour chaque module) :
Placer ces lignes dans le .axl de votre module :
<service-instance name="simple-table-comparator" type="Arcane::ISimpleTableComparator">
<description>Service implémentant ISimpleTableComparator</description>
</service-instance>
Dans le .arc, vous pouvez déclarer l'implémentation à utiliser. Par exemple :
<simple-table-comparator name="SimpleCsvComparator">
</simple-table-comparator>
Et dans votre module :
#include <arcane/ISimpleTableComparator.h>
options()->simpleCsvComparator()->init();
options()->simpleCsvComparator()->compareWithReference();
(Pour un exemple plus concret, voir les pages suivantes)