Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::Observable Class Reference

Base class of an observable. More...

#include <arccore/base/Observable.h>

Public Member Functions

 ~Observable () override
 Releases resources.
 Observable (const Observable &rhs)=delete
void operator= (const Observable &rhs)=delete
void attachObserver (IObserver *obs) override
 Attaches the observer obs to this observable.
void detachObserver (IObserver *obs) override
 Detaches the observer obs from this observable.
void notifyAllObservers () override
 Notifies all observers.
bool hasObservers () const override
 True if observers are attached to this observable.
void detachAllObservers () override
 Detaches all observers associated with this instance.
Public Member Functions inherited from Arcane::IObservable
virtual ~IObservable ()
 Frees resources.

Protected Member Functions

void _detachAllObservers ()

Additional Inherited Members

Static Public Member Functions inherited from Arcane::IObservable
static IObservablecreateDefault ()

Detailed Description

Base class of an observable.

An observable cannot be copied.

Definition at line 36 of file arccore/src/base/arccore/base/Observable.h.

Constructor & Destructor Documentation

◆ ~Observable()

Arcane::Observable::~Observable ( )
override

Releases resources.

Definition at line 26 of file Observable.cc.

References Arcane::arccoreIsCheck().

◆ Observable()

Arcane::Observable::Observable ( )
inline

Definition at line 45 of file arccore/src/base/arccore/base/Observable.h.

Member Function Documentation

◆ _detachAllObservers()

void Arcane::Observable::_detachAllObservers ( )
protected

Definition at line 87 of file Observable.cc.

◆ attachObserver()

void Arcane::Observable::attachObserver ( IObserver * obs)
overridevirtual

Attaches the observer obs to this observable.

It is possible to attach an observer more than once.

Implements Arcane::IObservable.

Definition at line 40 of file Observable.cc.

References Arcane::IObserver::attachToObservable().

◆ detachAllObservers()

void Arcane::Observable::detachAllObservers ( )
overridevirtual

Detaches all observers associated with this instance.

Implements Arcane::IObservable.

Definition at line 100 of file Observable.cc.

◆ detachObserver()

void Arcane::Observable::detachObserver ( IObserver * obs)
overridevirtual

Detaches the observer obs from this observable.

If the observer obs is not present, nothing happens. If it is present multiple times, the last occurrence is deleted.

Implements Arcane::IObservable.

Definition at line 53 of file Observable.cc.

◆ hasObservers()

bool Arcane::Observable::hasObservers ( ) const
overridevirtual

True if observers are attached to this observable.

Implements Arcane::IObservable.

Definition at line 78 of file Observable.cc.

◆ notifyAllObservers()

void Arcane::Observable::notifyAllObservers ( )
overridevirtual

Notifies all observers.

For each attached observer, calls IObserver::observerUpdate().

Implements Arcane::IObservable.

Definition at line 66 of file Observable.cc.


The documentation for this class was generated from the following files: