NAME
SubjectObserver - SubjectObserver maintains the observer list and definitions for subject.
SYNOPSIS
#include <SubjectObserver.hpp>
Inherits corelinux::Subject, and corelinux::Observer.
Inherited by Edit, Lister, and Select.
Public Member Functions
SubjectObserver (void)
Default constructor. virtual ~SubjectObserver (void)
Virtual destructor. bool operator= (SubjectObserverCref) const
Equality operator. virtual void addObserver (corelinux::ObserverPtr, corelinux::Event< corelinux::Identifier > *) throw ( corelinux::NullPointerException )
Add an observer for a specific event. virtual void removeObserver (corelinux::ObserverPtr) throw ( corelinux::NullPointerException )
Remove an observer from all event notifications. virtual void removeObserver (corelinux::ObserverPtr, corelinux::Event< corelinux::Identifier > *) throw ( corelinux::NullPointerException )
Remove an observer from specific event notifications. virtual corelinux::Iterator< corelinux::ObserverPtr > * createIterator (void)
Create a iterator for all observers. virtual corelinux::Iterator< corelinux::ObserverPtr > * createIterator (corelinux::Event< corelinux::Identifier > *) throw ( corelinux::NullPointerException )
Create a iterator for observers of this event. virtual void destroyIterator (corelinux::Iterator< corelinux::ObserverPtr > *) throw ( corelinux::NullPointerException )
Deletes the iterator instance.
Protected Member Functions
SubjectObserver (SubjectObserverCref) throw ( corelinux::Assertion )
Copy constructor. SubjectObserverRef operator= (SubjectObserverCref) throw ( corelinux::Assertion )
Assignment operator.
Detailed Description
SubjectObserver maintains the observer list and definitions for subject.
Because we have the need for all of our subjects to also be observers, this factors the behavior as well.
Member Function Documentation
void SubjectObserver::addObserver (corelinux::ObserverPtr, corelinux::Event< corelinux::Identifier > *) throw ( corelinux::NullPointerException ) [virtual]
Add an observer for a specific event. Parameters:
Event the type of event interested in
Exceptions:
NullPointer exception if event is null
Iterator< ObserverPtr > * SubjectObserver::createIterator (corelinux::Event< corelinux::Identifier > *) throw ( corelinux::NullPointerException ) [virtual]
Create a iterator for observers of this event. Parameters:
Event defines the event type predicate
Returns:
Iterator
Exceptions:
NullPointerException if event null
Iterator< ObserverPtr > * SubjectObserver::createIterator (void) [virtual]
Create a iterator for all observers. Returns:
Iterator
Implements corelinux::Subject.
void SubjectObserver::destroyIterator (corelinux::Iterator< corelinux::ObserverPtr > *) throw ( corelinux::NullPointerException ) [virtual]
Deletes the iterator instance. Parameters:
Iterator .RE
Exceptions:
NullPointerException if iterator null
void SubjectObserver::removeObserver (corelinux::ObserverPtr, corelinux::Event< corelinux::Identifier > *) throw ( corelinux::NullPointerException ) [virtual]
Remove an observer from specific event notifications. Parameters:
Observer to remove
Exceptions:
NullPointer exception Observer or Event is null
void SubjectObserver::removeObserver (corelinux::ObserverPtr) throw ( corelinux::NullPointerException ) [virtual]
Remove an observer from all event notifications. Parameters:
Observer to remove
Exceptions:
NullPointer exception Observer is null
Implements corelinux::Subject.
Author
Generated automatically by Doxygen for CoreLinux++ from the source code.