Classe de base d'un observable. Plus de détails...
#include <arcane/utils/Observable.h>
Fonctions membres publiques | |
virtual | ~Observable () |
Libère les ressources. | |
Observable (const Observable &rhs)=delete | |
void | operator= (const Observable &rhs)=delete |
void | destroy () override |
Détruit l'observable. Cet appel détruit l'instance (via delete this). Elle ne doit donc plus être utilisé par la suite. | |
void | attachObserver (IObserver *obs) override |
Attache l'observateur obs à cette observable. | |
void | detachObserver (IObserver *obs) override |
Détache l'observateur obs de cette observable. | |
void | notifyAllObservers () override |
Notifie tous les observateurs. | |
bool | hasObservers () const override |
Vrai si des observers sont attachées à cette observable. | |
bool | isDestroyed () const override |
Vrai si l'observable est détruit et ne doit plus être utilisé. | |
void | detachAllObservers () override |
Détache tous les observeurs associés à cette instance. | |
Fonctions membres publiques hérités de Arcane::IObservable | |
virtual | ~IObservable () |
Libère les ressources. | |
Fonctions membres protégées | |
void | _detachAllObservers () |
Attributs privés | |
bool | m_is_destroyed |
UniqueArray< IObserver * > | m_observers |
Membres hérités additionnels | |
Fonctions membres publiques statiques hérités de Arcane::IObservable | |
static IObservable * | createDefault () |
Classe de base d'un observable.
Un observable ne peut pas être copié.
Définition à la ligne 35 du fichier utils/Observable.h.
|
virtual |
Libère les ressources.
Définition à la ligne 26 du fichier Observable.cc.
Références Arcane::arcaneIsCheck().
|
inline |
Définition à la ligne 44 du fichier utils/Observable.h.
|
protected |
Définition à la ligne 115 du fichier Observable.cc.
Attache l'observateur obs à cette observable.
Il est possible d'attacher un observateur plus d'une fois.
Implémente Arcane::IObservable.
Définition à la ligne 40 du fichier Observable.cc.
|
overridevirtual |
Détruit l'observable. Cet appel détruit l'instance (via delete this). Elle ne doit donc plus être utilisé par la suite.
Implémente Arcane::IObservable.
Définition à la ligne 101 du fichier Observable.cc.
Références detachAllObservers().
|
overridevirtual |
Détache tous les observeurs associés à cette instance.
Implémente Arcane::IObservable.
Définition à la ligne 130 du fichier Observable.cc.
Référencé par destroy().
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émente Arcane::IObservable.
Définition à la ligne 53 du fichier Observable.cc.
|
overridevirtual |
Vrai si des observers sont attachées à cette observable.
Implémente Arcane::IObservable.
Définition à la ligne 83 du fichier Observable.cc.
|
overridevirtual |
Vrai si l'observable est détruit et ne doit plus être utilisé.
Implémente Arcane::IObservable.
Définition à la ligne 92 du fichier Observable.cc.
|
overridevirtual |
Notifie tous les observateurs.
Pour chaque observateur attaché, appelle IObserver::observerUpdate().
Implémente Arcane::IObservable.
Définition à la ligne 71 du fichier Observable.cc.
Référencé par Arcane::PropertyMng::readFrom(), et Arcane::PropertyMng::writeTo().
|
private |
Définition à la ligne 67 du fichier utils/Observable.h.
|
private |
Définition à la ligne 68 du fichier utils/Observable.h.