Arcane  v4.1.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::IObservableabstract

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

#include <arccore/base/IObservable.h>

Fonctions membres publiques

virtual ~IObservable ()
 Libère les ressources.
 
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 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 47 du fichier arccore/src/base/arccore/base/IObservable.h.

Documentation des constructeurs et destructeur

◆ ~IObservable()

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

Libère les ressources.

Définition à la ligne 51 du fichier arccore/src/base/arccore/base/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.

Référencé par Arcane::ObserverPool::addObserver(), et Arcane::ObserverPool::addObserver().

◆ createDefault()

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

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

◆ 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().

◆ 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.

◆ notifyAllObservers()

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

Notifie tous les observateurs.

Pour chaque observateur attaché, appelle IObserver::observerUpdate().

Implémenté dans Arcane::Observable.

Référencé par Arcane::Variable::notifyBeginWrite(), Arcane::Variable::notifyEndRead(), et Arcane::Variable::syncReferences().


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