Arcane  v3.16.6.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-2025 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-2025 */
9/* */
10/* Interface d'une étape de la sérialisation des familles d'entités. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IITEMFAMILYSERIALIZESTEP_H
13#define ARCANE_CORE_IITEMFAMILYSERIALIZESTEP_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
73class ARCANE_CORE_EXPORT IItemFamilySerializeStep
74{
75 public:
76
78 enum ePhase
79 {
80 PH_Item,
81 PH_Group,
82 PH_Variable
83 };
84
96
97 public:
98
99 class NotifyActionArgs
100 {
101 public:
102
103 NotifyActionArgs(eAction aaction, Integer nb_message)
104 : m_action(aaction)
105 , m_nb_message(nb_message)
106 {}
107
108 public:
109
110 eAction action() const { return m_action; }
112 Integer nbMessage() const { return m_nb_message; }
113
114 private:
115
116 eAction m_action;
117 Integer m_nb_message;
118 };
119
120 public:
121
122 virtual ~IItemFamilySerializeStep() = default;
123
124 public:
125
127 virtual void initialize() = 0;
128
130 virtual void notifyAction(const NotifyActionArgs& args) = 0;
131
143 virtual void serialize(const ItemFamilySerializeArgs& args) = 0;
144
146 virtual void finalize() = 0;
147
149 virtual ePhase phase() const = 0;
150
152 virtual IItemFamily* family() const = 0;
153};
154
155/*---------------------------------------------------------------------------*/
156/*---------------------------------------------------------------------------*/
161class ARCANE_CORE_EXPORT IItemFamilySerializeStepFactory
162{
163 public:
164
165 virtual ~IItemFamilySerializeStepFactory() = default;
166
167 public:
168
176};
177
178/*---------------------------------------------------------------------------*/
179/*---------------------------------------------------------------------------*/
180
181} // namespace Arcane
182
183/*---------------------------------------------------------------------------*/
184/*---------------------------------------------------------------------------*/
185
186#endif
187
Déclarations des types généraux de Arcane.
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.
@ AC_EndPrepareSend
Fin de la préparation de l'envoie.
@ AC_BeginPrepareSend
Début de la préparation de l'envoie.
@ AC_BeginReceive
Début de la réception des données.
@ AC_EndReceive
Fin de la réception des données.
virtual void serialize(const ItemFamilySerializeArgs &args)=0
Sérialise dans/depuis buf.
Interface d'une famille d'entités.
Definition IItemFamily.h:84
Arguments des callbacks de sérialisation des familles d'entités.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.