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.
void setOptionalModulesName(const StringCollection &names) override
Positionne la liste des des modules facultatifs.
String name() const override
Nom de la boucle en temps.
virtual void build() override
Construit la boucle en temps.
StringCollection requiredModulesName() const override
Liste des noms des modules obligatoires.
void setDescription(const String &description) override
Positionne la description de la boucle en temps.
IConfiguration * configuration() override
Options de configuration.
StringCollection optionalModulesName() const override
Liste des noms des modules facultatifs.
String description() const override
Description de la boucle en temps.
StringCollection userClasses() const override
Liste des classes utilisateurs associées à la boucle en temps.
void setTitle(const String &title) override
Positionne le titre de la boucle en temps.
void setUserClasses(const StringCollection &user_classes) override
Retourne la liste des classes associées à la boucle en temps.
TimeLoopEntryPointInfoCollection entryPoints(const String &where) const override
Liste des noms des points d'entrée pour le point d'appel where.
void setRequiredModulesName(const StringCollection &names) override
Positionne la liste des des modules obligatoires.
void setEntryPoints(const String &where, const TimeLoopEntryPointInfoCollection &calls) override
Positionne la liste des noms des points d'entrée pour le point d'appel where.
String title() const override
Titre de la boucle en temps.
void setSingletonServices(const TimeLoopSingletonServiceInfoCollection &c) override
Positionne la liste des services singletons.
TimeLoopSingletonServiceInfoCollection singletonServices() const override
Liste services singletons.
IApplication * application() const override
Application.
Collection< String > StringCollection
Collection de chaînes de caractères.
List< String > StringList
Tableau de chaînes de caractères unicode.