14#include "arccore/base/Observable.h"
15#include "arccore/base/Observer.h"
32 if (!m_observers.empty())
33 std::cout <<
"** WARNING: Observable p=" <<
this
34 <<
" is destroyed but has n="
35 << m_observers.size() <<
" observer(s) attached\n";
46 if (m_observers.contains(obs))
62 m_observers.removeValue(obs);
71 if (m_observers.empty())
74 o->observerUpdate(
this);
83 return (!m_observers.empty());
105 _detachAllObservers();
123AutoDetachObservable::
124~AutoDetachObservable()
126 _detachAllObservers();
Interface d'un observable.
Interface d'un observateur.
virtual void attachToObservable(IObservable *obs)=0
S'attache à l'observable obs.
Classe de base d'un observable.
void attachObserver(IObserver *obs) override
Attache l'observateur obs à cette observable.
void detachAllObservers() override
Détache tous les observeurs associés à cette instance.
bool hasObservers() const override
Vrai si des observers sont attachées à cette observable.
void detachObserver(IObserver *obs) override
Détache l'observateur obs de cette observable.
~Observable() override
Libère les ressources.
void notifyAllObservers() override
Notifie tous les observateurs.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
bool arccoreIsCheck()
Vrai si on est en mode vérification.