Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
utils/IObservable.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/* IObservable.h (C) 2000-2021 */
9/* */
10/* Interface d'un observable. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_UTILS_IOBSERVABLE_H
13#define ARCANE_UTILS_IOBSERVABLE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28class IObserver;
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
52class ARCANE_UTILS_EXPORT IObservable
53{
54 public:
55
56 virtual ~IObservable() {}
57
58 public:
59
60 static IObservable* createDefault();
61
62 public:
63
71 virtual ARCANE_DEPRECATED_220 void destroy() =0;
72
78 virtual void attachObserver(IObserver* obs) =0;
79
86 virtual void detachObserver(IObserver* obs) =0;
87
93 virtual void notifyAllObservers() =0;
94
96 virtual bool hasObservers() const =0;
97
102 virtual ARCANE_DEPRECATED_220 bool isDestroyed() const =0;
103
107 virtual void detachAllObservers() =0;
108};
109
110/*---------------------------------------------------------------------------*/
111/*---------------------------------------------------------------------------*/
112
113} // End namespace Arcane
114
115/*---------------------------------------------------------------------------*/
116/*---------------------------------------------------------------------------*/
117
118#endif
119
Fichier de configuration d'Arcane.
Interface d'un observable.
virtual ARCANE_DEPRECATED_220 bool isDestroyed() const =0
Vrai si l'observable est détruit et ne doit plus être utilisé.
virtual void detachAllObservers()=0
Détache tous les observeurs associés à cette instance.
virtual void attachObserver(IObserver *obs)=0
Attache l'observateur obs à cette observable.
virtual ARCANE_DEPRECATED_220 void destroy()=0
Détruit l'observable. Cet appel détruit l'instance (via delete this). Elle ne doit donc plus être uti...
virtual void notifyAllObservers()=0
Notifie tous les observateurs.
virtual bool hasObservers() const =0
Vrai si des observers sont attachées à cette observable.
virtual void detachObserver(IObserver *obs)=0
Détache l'observateur obs de cette observable.
virtual ~IObservable()
Libère les ressources.
Interface d'un observateur.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-