Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IItemFamilySerializeStep.h
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/* IItemFamilySerializeStep.h (C) 2000-2016 */
9/* */
10/* Interface d'une étape de la sérialisation des familles d'entités. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IITEMFAMILYSERIALIZESTEP_H
13#define ARCANE_IITEMFAMILYSERIALIZESTEP_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/ArrayView.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22ARCANE_BEGIN_NAMESPACE
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27class IItemFamily;
28class ItemFamilySerializeArgs;
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
78class ARCANE_CORE_EXPORT IItemFamilySerializeStep
79{
80 public:
82 enum ePhase
83 {
84 PH_Item,
85 PH_Group,
86 PH_Variable
87 };
89 enum class eAction
90 {
92 AC_BeginPrepareSend,
94 AC_EndPrepareSend,
96 AC_BeginReceive,
98 AC_EndReceive,
99 };
100 public:
102 {
103 public:
105 : m_action(aaction), m_nb_message(nb_message){}
106 public:
107 eAction action() const { return m_action; }
109 Integer nbMessage() const { return m_nb_message; }
110 private:
111 eAction m_action;
112 Integer m_nb_message;
113 };
114 public:
115
116 virtual ~IItemFamilySerializeStep(){}
117
118 public:
119
121 virtual void initialize() =0;
122
124 virtual void notifyAction(const NotifyActionArgs& args) =0;
125
137 virtual void serialize(const ItemFamilySerializeArgs& args) =0;
138
140 virtual void finalize() =0;
141
143 virtual ePhase phase() const =0;
144
146 virtual IItemFamily* family() const =0;
147};
148
149/*---------------------------------------------------------------------------*/
150/*---------------------------------------------------------------------------*/
155class ARCANE_CORE_EXPORT IItemFamilySerializeStepFactory
156{
157 public:
158
160
161 public:
162
170};
171
172/*---------------------------------------------------------------------------*/
173/*---------------------------------------------------------------------------*/
174
175ARCANE_END_NAMESPACE
176
177/*---------------------------------------------------------------------------*/
178/*---------------------------------------------------------------------------*/
179
180#endif
181
Fabrique pour créer une étape de la sérialisation des familles d'entités.
virtual IItemFamilySerializeStep * createStep(IItemFamily *family)=0
Créé une étape pour la famille family.
Integer nbMessage() const
Nombre de messages de sérialisation.
Interface d'une étape de la sérialisation des familles d'entités.
virtual void initialize()=0
Initialise l'instance avant le début des échanges.
virtual IItemFamily * family() const =0
Famille associée.
virtual void finalize()=0
Effectue les traitements de fin d'échange.
virtual void notifyAction(const NotifyActionArgs &args)=0
Notifie l'instance qu'on entre dans une certaine phase de l'échange.
virtual ePhase phase() const =0
Phase de la sérialisation où cette instance intervient.
eAction
Action en cours de la sérialisation.
virtual void serialize(const ItemFamilySerializeArgs &args)=0
Sérialise dans/depuis buf.
Interface d'une famille d'entités.
Arguments des callbacks de sérialisation des familles d'entités.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120