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 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 47 du fichier arccore/src/base/arccore/base/IObservable.h.
|
inlinevirtual |
Libère les ressources.
Définition à la ligne 51 du fichier arccore/src/base/arccore/base/IObservable.h.
|
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().
|
static |
Définition à la ligne 109 du fichier Observable.cc.
|
pure virtual |
Détache tous les observeurs associés à cette instance.
Implémenté dans Arcane::Observable.
Référencé par Arcane::ObservablePool< KeyType >::~ObservablePool().
|
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.
|
pure virtual |
Vrai si des observers sont attachées à cette observable.
Implémenté dans Arcane::Observable.
|
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().