14#include "arccore/base/Observable.h"
15#include "arccore/base/Observer.h"
30 if (!m_observers.empty())
31 std::cout <<
"** WARNING: Observable p=" <<
this
32 <<
" is destroyed but has n="
33 << m_observers.size() <<
" observer(s) attached\n";
44 if (m_observers.contains(obs))
60 m_observers.removeValue(obs);
69 if (m_observers.empty())
72 o->observerUpdate(
this);
81 return (!m_observers.empty());
103 _detachAllObservers();
121AutoDetachObservable::
122~AutoDetachObservable()
124 _detachAllObservers();
Interface d'un observable.
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 -*-
ARCCORE_BASE_EXPORT bool arccoreIsCheck()
Vrai si on est en mode vérification.