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