Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::IObservableabstract

Interface d'un observable. Plus de détails...

#include <arcane/utils/IObservable.h>

+ Graphe d'héritage de Arcane::IObservable:
+ Graphe de collaboration de Arcane::IObservable:

Fonctions membres publiques

virtual ~IObservable ()
 Libère les ressources.
 
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 utilisé par la suite.
 
virtual void attachObserver (IObserver *obs)=0
 Attache l'observateur obs à cette observable.
 
virtual void detachObserver (IObserver *obs)=0
 Détache l'observateur obs de cette observable.
 
virtual void notifyAllObservers ()=0
 Notifie tous les observateurs.
 
virtual bool hasObservers () const =0
 Vrai si des observers sont attachées à cette 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.
 

Fonctions membres publiques statiques

static IObservablecreateDefault ()
 

Description détaillée

Interface d'un observable.

Un observable est un objet qui maintient une liste d'observateurs (IObserver) et qui permet de les notifier d'un évènement par l'intermédiaire de la méthode notifyAllObserver().

Un observateur est ajouté à la liste des observateurs par la méthode attachObserver() et supprimé de cette même liste par detachObserver().

La liste des observateurs attachés est ordonnée et les notifications se font dans l'ordre des éléments de la liste. Si un même observateur est présent plusieurs fois, il sera notifier autant de fois qu'il est présent.

Avertissement
Il est indispensable de supprimer, via l'appel à detachAllObservers() les observeurs associés à un observable avant de le détruire.
Voir également
IObserver

Définition à la ligne 52 du fichier utils/IObservable.h.

Documentation des constructeurs et destructeur

◆ ~IObservable()

virtual Arcane::IObservable::~IObservable ( )
inlinevirtual

Libère les ressources.

Définition à la ligne 56 du fichier utils/IObservable.h.

Documentation des fonctions membres

◆ attachObserver()

virtual void Arcane::IObservable::attachObserver ( IObserver obs)
pure virtual

Attache l'observateur obs à cette observable.

Il est possible d'attacher un observateur plus d'une fois.

Implémenté dans Arcane::Observable.

◆ createDefault()

IObservable * Arcane::IObservable::createDefault ( )
static

Définition à la ligne 139 du fichier Observable.cc.

◆ destroy()

virtual ARCANE_DEPRECATED_220 void Arcane::IObservable::destroy ( )
pure virtual

Détruit l'observable. Cet appel détruit l'instance (via delete this). Elle ne doit donc plus être utilisé par la suite.

Obsolète:
Utiliser detachAllObservers() puis l'opérateur delete ensuite.

Implémenté dans Arcane::Observable.

◆ detachAllObservers()

virtual void Arcane::IObservable::detachAllObservers ( )
pure virtual

Détache tous les observeurs associés à cette instance.

Implémenté dans Arcane::Observable.

Référencé par Arcane::ObservablePool< KeyType >::~ObservablePool(), et Arcane::VariableMng::~VariableMng().

◆ detachObserver()

virtual void Arcane::IObservable::detachObserver ( IObserver obs)
pure virtual

Détache l'observateur obs de cette observable.

Si l'obervateur obs n'est pas présent, rien n'est fait. S'il est présent plusieurs fois, c'est la dernière occurence qui est effacé.

Implémenté dans Arcane::Observable.

◆ hasObservers()

virtual bool Arcane::IObservable::hasObservers ( ) const
pure virtual

Vrai si des observers sont attachées à cette observable.

Implémenté dans Arcane::Observable.

◆ isDestroyed()

virtual ARCANE_DEPRECATED_220 bool Arcane::IObservable::isDestroyed ( ) const
pure virtual

Vrai si l'observable est détruit et ne doit plus être utilisé.

Implémenté dans Arcane::Observable.

◆ notifyAllObservers()

virtual void Arcane::IObservable::notifyAllObservers ( )
pure virtual

La documentation de cette classe a été générée à partir des fichiers suivants :