Interface d'un observable. Plus de détails...
#include <arcane/utils/IObservable.h>
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 IObservable * | createDefault () |
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.
Définition à la ligne 52 du fichier utils/IObservable.h.
|
inlinevirtual |
Libère les ressources.
Définition à la ligne 56 du fichier utils/IObservable.h.
Attache l'observateur obs à cette observable.
Il est possible d'attacher un observateur plus d'une fois.
Implémenté dans Arcane::Observable.
|
static |
Définition à la ligne 139 du fichier Observable.cc.
Détruit l'observable. Cet appel détruit l'instance (via delete this). Elle ne doit donc plus être utilisé par la suite.
Implémenté dans Arcane::Observable.
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().
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.
Vrai si des observers sont attachées à cette observable.
Implémenté dans Arcane::Observable.
Vrai si l'observable est détruit et ne doit plus être utilisé.
Implémenté dans Arcane::Observable.
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(), Arcane::CheckpointMng::readCheckpoint(), Arcane::Variable::syncReferences(), et Arcane::CheckpointMng::writeCheckpoint().