14#include "arcane/utils/ArcanePrecomp.h"
16#include "arcane/utils/List.h"
17#include "arcane/utils/String.h"
19#include "arcane/TimeLoop.h"
20#include "arcane/TimeLoopEntryPointInfo.h"
21#include "arcane/TimeLoopSingletonServiceInfo.h"
22#include "arcane/Configuration.h"
23#include "arcane/IApplication.h"
35const char* ITimeLoop::WComputeLoop =
"compute-loop";
36const char* ITimeLoop::WBuild =
"build";
37const char* ITimeLoop::WInit =
"init";
38const char* ITimeLoop::WRestore =
"restore";
39const char* ITimeLoop::WOnMeshChanged =
"on-mesh-changed";
40const char* ITimeLoop::WOnMeshRefinement =
"on-mesh-refinement";
41const char* ITimeLoop::WExit =
"exit";
46typedef List<TimeLoopEntryPointInfo> TimeLoopEntryPointInfoList;
58 typedef std::map<String,List< TimeLoopEntryPointInfo > > EntryPointInfoMap;
63 ~TimeLoopPrivate(){
delete m_configuration; }
75 EntryPointInfoMap m_entry_points;
95TimeLoopPrivate(IApplication* app,
const String& name)
127 m_p->m_configuration = m_p->m_application->configurationMng()->createConfiguration();
136 m_p->m_required_modules_name.clone(names);
145 m_p->m_optional_modules_name.clone(names);
154 TimeLoopPrivate::EntryPointInfoMap::const_iterator it = m_p->m_entry_points.find(where);
155 if (it==m_p->m_entry_points.end()){
166 const TimeLoopEntryPointInfoCollection& calls)
168 TimeLoopEntryPointInfoList entry_points;
169 entry_points.
clone(calls);
170 m_p->m_entry_points.insert(TimeLoopPrivate::EntryPointInfoMap::value_type(where,entry_points));
179 m_p->m_user_classes.clone(user_classes);
188 return m_p->m_application;
206 m_p->m_title =
title;
212 return m_p->m_is_old;
216setOldFormat(
bool is_old)
218 m_p->m_is_old = is_old;
224 return m_p->m_description;
236 return m_p->m_required_modules_name;
242 return m_p->m_optional_modules_name;
248 return m_p->m_user_classes;
257 return m_p->m_singleton_services;
266 m_p->m_singleton_services.clone(c);
275 return m_p->m_configuration;
Interface de l'application.
Interface d'une configuration.
Interface d'une boucle en temps.
virtual void build()=0
Construit la boucle en temps.
Implémentation d'une collection d'éléments sous forme de vecteur.
void clone(const Collection< T > &base)
Clone la collection base.
Chaîne de caractères unicode.
String m_description
Description.
StringList m_required_modules_name
Vrai si boucle en temps au vieux format.
IApplication * m_application
Application.
String m_name
Nom informatique.
StringList m_user_classes
Liste des classes utilisateurs.
virtual void setEntryPoints(const String &where, const TimeLoopEntryPointInfoCollection &calls)
Positionne la liste des noms des points d'entrée pour le point d'appel where.
virtual String title() const
Titre de la boucle en temps.
virtual String description() const
Description de la boucle en temps.
virtual void setDescription(const String &description)
Positionne la description de la boucle en temps.
virtual void setTitle(const String &title)
Positionne le titre de la boucle en temps.
virtual StringCollection userClasses() const
Liste des classes utilisateurs associées à la boucle en temps.
virtual TimeLoopEntryPointInfoCollection entryPoints(const String &where) const
Liste des noms des points d'entrée pour le point d'appel where.
virtual void setSingletonServices(const TimeLoopSingletonServiceInfoCollection &c)
Positionne la liste des services singletons.
virtual void setOptionalModulesName(const StringCollection &names)
Positionne la liste des des modules facultatifs.
virtual String name() const
Nom de la boucle en temps.
virtual void setRequiredModulesName(const StringCollection &names)
Positionne la liste des des modules obligatoires.
virtual IConfiguration * configuration()
Options de configuration.
virtual StringCollection optionalModulesName() const
Liste des noms des modules facultatifs.
virtual void build()
Construit la boucle en temps.
virtual void setUserClasses(const StringCollection &user_classes)
Retourne la liste des classes associées à la boucle en temps.
virtual TimeLoopSingletonServiceInfoCollection singletonServices() const
Liste services singletons.
virtual IApplication * application() const
Application.
virtual StringCollection requiredModulesName() const
Liste des noms des modules obligatoires.
Collection< String > StringCollection
Collection de chaînes de caractères.
List< String > StringList
Tableau de chaînes de caractères unicode.