An interface can declare an observable object. This observable will notify observers (callback functions) when a certain event occurs.
This interface declares the observable "ObservablePing" that will notify observers when the function "Ping" is called:
Such a callback function must have the same return value and argument list as defined in the observable declaration:
The observable is accessible by the function of its name. An observer is added with maxon::ObservableBaseInterface::AddObserver():
It is also possible to add lambdas to the observable.
The observer functions are called when the specific event is triggered.