Common interface for model objects, that supports Model/Observer design pattern.
Common interface for all classes implementing the Observer functionality in the Model/Observer design...
virtual bool OnModelAttached(IModel *modelPtr, istd::IChangeable::ChangeSet &changeMask)=0
Callback invoked when an observable model is about to be attached to this observer.
virtual void BeforeUpdate(IModel *modelPtr)=0
Callback invoked before an update of the observer's content occurs.
virtual void AfterUpdate(IModel *modelPtr, const istd::IChangeable::ChangeSet &changeSet)=0
Callback invoked after an update of the observer's content occurs.
virtual bool IsModelAttached(const IModel *modelPtr=NULL) const =0
Checks if the specified model is currently attached to this observer.
virtual bool OnModelDetached(IModel *modelPtr)=0
Callback invoked when an observable model is about to be detached from this observer.
Set of change flags (its IDs).
Base interface for all used interfaces and implementations.
Unique ownership smart pointer for interface types.
This namespace containes basic implementation of Model/Observer design pattern This package is system...
istd::TUniqueInterfacePtr< imod::IObserver > IObserverPtr