Arcane
v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ArcaneDirectExecution.cc
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4
// See the top-level COPYRIGHT file for details.
5
// SPDX-License-Identifier: Apache-2.0
6
//-----------------------------------------------------------------------------
7
/*---------------------------------------------------------------------------*/
8
/* ArcaneDirectExecution.cc (C) 2000-2011 */
9
/* */
10
/* Service d'exécution directe. */
11
/*---------------------------------------------------------------------------*/
12
/*---------------------------------------------------------------------------*/
13
14
#include "arcane/utils/ArcanePrecomp.h"
15
16
#include "arcane/ISubDomain.h"
17
#include "arcane/IDirectExecution.h"
18
19
#include "arcane/std/ArcaneDirectExecution_axl.h"
20
21
/*---------------------------------------------------------------------------*/
22
/*---------------------------------------------------------------------------*/
23
24
ARCANE_BEGIN_NAMESPACE
25
26
/*---------------------------------------------------------------------------*/
27
/*---------------------------------------------------------------------------*/
28
29
/*---------------------------------------------------------------------------*/
30
/*---------------------------------------------------------------------------*/
34
class
ArcaneDirectExecution
35
:
public
ArcaneArcaneDirectExecutionObject
36
{
37
public
:
38
39
ArcaneDirectExecution(
const
ServiceBuildInfo
& sb)
40
:
ArcaneArcaneDirectExecutionObject
(sb), m_parallel_mng(0)
41
{
42
sb.
subDomain
()->
setDirectExecution
(
this
);
43
}
44
virtual
~ArcaneDirectExecution(){}
45
46
public
:
47
48
virtual
void
build
() {}
49
virtual
void
initialize(){}
50
virtual
void
execute
()
51
{
52
Integer
nb_tool =
options
()->tool().size();
53
for
(
Integer
i=0; i<nb_tool; ++i )
54
options
()->tool()[i]->execute();
55
}
56
virtual
bool
isActive
()
const
57
{
58
Integer
nb_tool =
options
()->tool().size();
59
info
() <<
"** NB_TOOL2="
<< nb_tool;
60
return
options
()->tool().size()!=0;
61
}
62
virtual
void
setParallelMng
(
IParallelMng
* pm)
63
{
64
m_parallel_mng = pm;
65
}
66
public
:
67
68
IParallelMng
* parallelMng()
const
{
return
m_parallel_mng; }
69
70
private
:
71
IParallelMng* m_parallel_mng;
72
};
73
74
/*---------------------------------------------------------------------------*/
75
/*---------------------------------------------------------------------------*/
76
77
ARCANE_REGISTER_SERVICE_ARCANEDIRECTEXECUTION(ArcaneDirectExecution,ArcaneDirectExecution);
78
79
/*---------------------------------------------------------------------------*/
80
/*---------------------------------------------------------------------------*/
81
82
ARCANE_END_NAMESPACE
83
84
/*---------------------------------------------------------------------------*/
85
/*---------------------------------------------------------------------------*/
Arcane::ArcaneArcaneDirectExecutionObject::ArcaneArcaneDirectExecutionObject
ArcaneArcaneDirectExecutionObject(const Arcane::ServiceBuildInfo &sbi)
Constructeur.
Definition
ArcaneDirectExecution_axl.h:209
Arcane::ArcaneArcaneDirectExecutionObject::options
CaseOptionsArcaneDirectExecution * options() const
Options du jeu de données du service.
Definition
ArcaneDirectExecution_axl.h:227
Arcane::ArcaneDirectExecution::execute
virtual void execute()
Exécute l'opération du service.
Definition
ArcaneDirectExecution.cc:50
Arcane::ArcaneDirectExecution::setParallelMng
virtual void setParallelMng(IParallelMng *pm)
Positionne le gestionnaire de parallèlisme associé. Cette méthode doit être appelée avant execute()
Definition
ArcaneDirectExecution.cc:62
Arcane::ArcaneDirectExecution::build
virtual void build()
Construction de niveau build du service.
Definition
ArcaneDirectExecution.cc:48
Arcane::ArcaneDirectExecution::isActive
virtual bool isActive() const
Vrai si le service est actif.
Definition
ArcaneDirectExecution.cc:56
Arcane::IParallelMng
Interface du gestionnaire de parallélisme pour un sous-domaine.
Definition
IParallelMng.h:52
Arcane::ISubDomain::setDirectExecution
virtual void setDirectExecution(IDirectExecution *v)=0
Positionne le service d'exécution directe.
Arcane::ServiceBuildInfoBase::subDomain
ISubDomain * subDomain() const
Accès au ISubDomain associé.
Definition
ServiceBuildInfo.h:147
Arcane::ServiceBuildInfo
Structure contenant les informations pour créer un service.
Definition
ServiceBuildInfo.h:198
Arcane::TraceAccessor::info
TraceMessage info() const
Flot pour un message d'information.
Definition
TraceAccessor.cc:101
Arcane::Integer
Int32 Integer
Type représentant un entier.
Definition
ArccoreGlobal.h:240
arcane
std
ArcaneDirectExecution.cc
Généré le Lundi 31 Mars 2025 02:53:14 pour Arcane par
1.13.2