Arcane  v3.16.4.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
ICheckpointWriter.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/* ICheckpointWriter.h (C) 2000-2025 */
9/* */
10/* Interface du service d'écriture d'une protection/reprise. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ICHECKPOINTWRITER_H
13#define ARCANE_CORE_ICHECKPOINTWRITER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \ingroup StandardService
29 * \brief Interface du service d'écriture d'une protection/reprise.
30 *
31 * L'instance doit retourner un IDataWriter (via dataWriter()) pour
32 * gérer l'écriture.
33 *
34 * L'enchainement des fonctions est le suivant:
35 * \code
36 * ICheckpointWriter* checkpoint_writer = ...;
37 * checkpoint_writer->setCheckpointTimes();
38 * checkpoint_writer->notifyBeginWrite();
39 * checkpoint_writer->dataWriter();
40 * // ...
41 * // Ecriture avec le IDataWriter
42 * // ...
43 * checkpoint_writer->notifyBeginWrite();
44 * checkpoint_writer->readerServiceName();
45 * checkpoint_writer->readerMetaData();
46 * \endcode
47 */
48class ARCANE_CORE_EXPORT ICheckpointWriter
49{
50 public:
51
52 //! Libère les ressources
53 virtual ~ICheckpointWriter() = default;
54
55 public:
56
57 /*!
58 * \brief Retourne l'écrivain associé.
59 */
60 virtual IDataWriter* dataWriter() = 0;
61
62 //! Notifie qu'une protection va être écrite avec les paramètres courants
63 virtual void notifyBeginWrite() = 0;
64
65 //! Notifie qu'une protection vient d'être écrite
66 virtual void notifyEndWrite() = 0;
67
68 //! Positionne le nom du fichier de la protection
69 virtual void setFileName(const String& file_name) = 0;
70
71 //! Nom du fichier de la protection
72 virtual String fileName() const = 0;
73
74 //! Positionne le nom du répertoire de base de la protection
75 virtual void setBaseDirectoryName(const String& dirname) = 0;
76
77 //! Nom du répertoire de base de la protection
78 virtual String baseDirectoryName() const = 0;
79
80 /*! \brief Positionne les temps des protections.
81 *
82 * Le temps de la protection courante est le dernier élément du tableau
83 */
84 virtual void setCheckpointTimes(RealConstArrayView times) = 0;
85
86 //! Temps des protections
88
89 //! Ferme les protections
90 virtual void close() = 0;
91
92 //! Nom du service du lecteur associé à cet écrivain
93 virtual String readerServiceName() const = 0;
94
95 //! Méta données pour le lecteur associé à cet écrivain
96 virtual String readerMetaData() const = 0;
97};
98
99/*---------------------------------------------------------------------------*/
100/*---------------------------------------------------------------------------*/
101
102} // namespace Arcane
103
104/*---------------------------------------------------------------------------*/
105/*---------------------------------------------------------------------------*/
106
107#endif
108
Déclarations des types généraux de Arcane.
Vue constante d'un tableau de type T.
Interface du service d'écriture d'une protection/reprise.
virtual ConstArrayView< Real > checkpointTimes() const =0
Temps des protections.
virtual void setBaseDirectoryName(const String &dirname)=0
Positionne le nom du répertoire de base de la protection.
virtual String readerServiceName() const =0
Nom du service du lecteur associé à cet écrivain.
virtual void close()=0
Ferme les protections.
virtual String readerMetaData() const =0
Méta données pour le lecteur associé à cet écrivain.
virtual void setCheckpointTimes(RealConstArrayView times)=0
Positionne les temps des protections.
virtual String baseDirectoryName() const =0
Nom du répertoire de base de la protection.
virtual String fileName() const =0
Nom du fichier de la protection.
virtual void notifyEndWrite()=0
Notifie qu'une protection vient d'être écrite.
virtual ~ICheckpointWriter()=default
Libère les ressources.
virtual void notifyBeginWrite()=0
Notifie qu'une protection va être écrite avec les paramètres courants.
virtual IDataWriter * dataWriter()=0
Retourne l'écrivain associé.
virtual void setFileName(const String &file_name)=0
Positionne le nom du fichier de la protection.
Interface d'écriture des données d'une variable.
Definition IDataWriter.h:44
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
ConstArrayView< Real > RealConstArrayView
Equivalent C d'un tableau à une dimension de réels.
Definition UtilsTypes.h:575