14#include "arcane/core/CodeService.h"
16#include "arcane/utils/List.h"
17#include "arcane/utils/ScopedPtr.h"
18#include "arcane/utils/Exception.h"
19#include "arcane/utils/String.h"
20#include "arcane/utils/ITraceMng.h"
21#include "arcane/utils/IProfilingService.h"
22#include "arcane/utils/PlatformUtils.h"
23#include "arcane/utils/Array.h"
24#include "arcane/utils/ValueConvert.h"
25#include "arcane/utils/JSONWriter.h"
27#include "arcane/core/IApplication.h"
28#include "arcane/core/ISession.h"
29#include "arcane/core/IServiceLoader.h"
30#include "arcane/core/IMainFactory.h"
31#include "arcane/core/ISubDomain.h"
32#include "arcane/core/ServiceBuildInfo.h"
33#include "arcane/core/ICheckpointMng.h"
34#include "arcane/core/ICaseMng.h"
35#include "arcane/core/ITimeLoopMng.h"
36#include "arcane/core/IVariableMng.h"
37#include "arcane/core/CheckpointInfo.h"
38#include "arcane/core/internal/IVariableMngInternal.h"
49class CodeServicePrivate
49class CodeServicePrivate {
…};
65, m_application(application)
76CodeService(
const ServiceBuildInfo& sbi)
77: m_p(new CodeServicePrivate(sbi.application(),sbi.serviceInfo()))
105 return m_p->m_extensions;
119 _preInitializeSubDomain(sub_domain);
126 trace->
error() << ex;
130 trace->
error() <<
"Unknown exception thrown";
144 bool is_profile_init =
false;
146 is_profile_init = (v.value()!=0);
166 ci.setIsRestart(
true);
189 if (is_profile_init && ps){
192 JSONWriter json_writer(JSONWriter::FormatFlags::None);
193 json_writer.beginObject();
195 json_writer.endObject();
197 std::ofstream ofile(file_name.
localstr());
198 ofile << json_writer.getBuffer();
208 return m_p->m_service_info;
217 return m_p->m_application;
224_addExtension(
const String& extension)
226 m_p->m_extensions.add(extension);
232IApplication* CodeService::
235 return m_p->m_application;
Informations sur une protection.
virtual StringCollection validExtensions() const
Retourne la liste des extensions de fichier traitées par l'instance. L'extension ne comprend pas le '...
virtual bool allowExecution() const
Retourne si le code accepte l'exécution.
virtual void initCase(ISubDomain *sub_domain, bool is_continue)
Initialise la session session.
virtual IServiceInfo * serviceInfo() const
Informations du service.
virtual ISubDomain * createAndLoadCase(ISession *session, const SubDomainBuildInfo &sdbi)
Créé et charge le cas avec les infos sdbi pour la session session.
virtual IBase * serviceParent() const
Parent de ce service.
Classe de base d'une exception.
Interface de l'application.
Interface de la classe de base des objets principaux arcane.
virtual ITraceMng * traceMng() const =0
Gestionnaire de traces.
Interface du gestionnaire de cas.
virtual void printOptions()=0
Affiche les valeurs des options.
virtual void readOptions(bool is_phase1)=0
Lit les options du jeu de donnée correspondant aux modules utilisés.
Interface du gestionnaire des informations des protections.
virtual ARCANE_DEPRECATED_122 void readCheckpoint()=0
Lit une protection.
virtual CheckpointInfo readDefaultCheckpointInfo()=0
Lit les informations de protection par défaut.
Interface d'un service de profiling.
virtual void dumpJSON(JSONWriter &writer)=0
Ecrit les infos de profiling dans l'écrivain writer.
Interface des informations d'un service ou d'un module.
Interface d'une session d'exécution d'un cas.
virtual ISubDomain * createSubDomain(const SubDomainBuildInfo &sdbi)=0
Créé un sous-domaine avec les paramètres contenus dans sdbi.
Interface du gestionnaire d'un sous-domaine.
virtual void doInitMeshPartition()=0
Applique le partitionnement de maillage de l'initialisation.
virtual ICheckpointMng * checkpointMng() const =0
Gestionnaire de protections.
virtual void setIsInitialized()=0
Indique que le sous-domaine est initialié.
virtual ITimeLoopMng * timeLoopMng()=0
Retourne le gestionnaire de la boucle en temps.
virtual void initializeMeshVariablesFromCaseFile()=0
Initialise les variables dont les valeurs sont spécifiées dans le jeu de données.
virtual IVariableMng * variableMng()=0
Retourne le gestionnaire de variables.
virtual void readOrReloadMeshes()=0
Lit ou relit les maillages.
virtual void readCaseMeshes()=0
Lit les informations de maillage du jeu de données.
virtual void allocateMeshes()=0
Alloue les instances.
virtual ICaseMng * caseMng()=0
Retourne le gestionnaire du jeu de données.
virtual void setIsContinue()=0
Positionne un flag indiquant qu'on effectue une reprise.
Interface du gestionnaire de la boucle en temps.
virtual void execBuildEntryPoints()=0
Exécute les points d'entrée de construction.
virtual void execInitEntryPoints(bool is_continue)=0
Exécute les points d'entrée d'initialisation.
Interface du gestionnaire de traces.
virtual TraceMessage error()=0
Flot pour un message d'erreur.
virtual void initializeVariables(bool is_continue)=0
Initialise les variables.
Interface du gestionnaire de variables.
virtual IVariableMngInternal * _internalApi()=0
API interne à Arcane.
Classe permettant de démarrer et arrêter automatiquement un service.
void setPrintAtEnd(bool v)
Indique si on imprime les résultats à la fin du profiling.
Chaîne de caractères unicode.
const char * localstr() const
Retourne la conversion de l'instance dans l'encodage UTF-8.
Paramètres nécessaires à la construction d'un sous-domaine.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Collection< String > StringCollection
Collection de chaînes de caractères.
List< String > StringList
Tableau de chaînes de caractères unicode.