struct CCL::ISubject
Overview
A subject notifies multiple observer objects on state changes. More…
#include <iobserver.h> struct ISubject: public CCL::IUnknown { // methods virtual void CCL_API addObserver (IObserver* observer) = 0; virtual void CCL_API removeObserver (IObserver* observer) = 0; virtual void CCL_API signal (MessageRef msg) = 0; virtual void CCL_API deferSignal (IMessage* msg) = 0; static ISubject void addObserver (IUnknown* unknown, IObserver* observer); static void removeObserver (IUnknown* unknown, IObserver* observer); };
Inherited Members
public: // methods virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0; virtual unsigned int CCL_API retain () = 0; virtual unsigned int CCL_API release () = 0;
Detailed Documentation
A subject notifies multiple observer objects on state changes.
Methods
virtual void CCL_API addObserver (IObserver* observer) = 0
Connect observer to subject.
virtual void CCL_API removeObserver (IObserver* observer) = 0
Disconnect observer from subject.
virtual void CCL_API signal (MessageRef msg) = 0
Send message to connected observers.
virtual void CCL_API deferSignal (IMessage* msg) = 0
Send message to connected observers asynchronously.
static ISubject void addObserver (IUnknown* unknown, IObserver* observer)
Helper to connect observer to given IUnknown.
static void removeObserver (IUnknown* unknown, IObserver* observer)
Helper to disconnect observer from given IUnknown.