casacore
|
abstract base class for notice receptors More...
#include <Notice.h>
Public Member Functions | |
virtual | ~NoticeTarget () |
Destructs this NoticeTarget . More... | |
Bool | isValid () const |
Returns a boolean value telling whether this NoticeTarget is still "valid". More... | |
Bool | isAttached () const |
Returns a boolean value telling whether this NoticeTarget is still attached to a NoticeSource or not. More... | |
void | invalidate () |
Makes the current NoticeTarget "invalid". More... | |
virtual void | notify (const Notice &)=0 |
Hook through which NoticeTarget s are notified (by NoticeSource s). More... | |
Protected Member Functions | |
NoticeTarget () | |
Creates an unlinked, "invalid" NoticeTarget . More... | |
NoticeTarget (NoticeSource *v) | |
Creates a "valid" NoticeTarget linked to the specified NoticeSource . More... | |
NoticeTarget (NoticeSource &v) | |
NoticeTarget (NoticeTarget &other) | |
Creates a "valid" NoticeTarget linked to the same NoticeSource as the other NoticeTarget . More... | |
NoticeTarget (NoticeTarget *other) | |
void | unlink () |
Unlinks this NoticeTarget from its NoticeSource . More... | |
void | link (const NoticeTarget &other) |
Links this NoticeTarget to the same NoticeSource as the other NoticeTarget . More... | |
void | link (const NoticeTarget *other) |
Link< NoticeTarget * > * | next () |
Retrieves the next NoticeTarget in the target list of the associated NoticeSource . More... | |
const Link< NoticeTarget * > * | next () const |
void | attach (NoticeSource *v) |
Adds this NoticeTarget to the target list in the specified NoticeSource , so that it will receive all notices sent out by that NoticeSource . More... | |
void | attach (NoticeSource &v) |
Protected Attributes | |
Link< NoticeTarget * > * | ilink |
NoticeSource * | container |
Bool | valid |
Friends | |
class | NoticeSource |
abstract base class for notice receptors
Public interface
A NoticeTarget
receives the Notice
s from the NoticeSource
to which it is linked. A target can only be linked to one source.
Classes which are dependent upon a particular NoticeSource
should derive from this class.
ListIter and its parent class ConstListIter are the iterators or "dynamic" cursors in the linked List. They are derived from NoticeTarget
, and the notice system ensures that multiple cursors are updated as elements are added and removed from the list, according to the following scheme:
NoticeSource
List.
|
virtual |
Destructs this NoticeTarget
.
|
inlineprotected |
Creates an unlinked, "invalid" NoticeTarget
.
An invalid NoticeTarget
does not occur in the target list of any NoticeSource
.
|
inlineprotected |
Creates a "valid" NoticeTarget
linked to the specified NoticeSource
.
The NoticeTarget
will be added to the target list in that NoticeSource
.
Definition at line 187 of file Notice.h.
References attach().
|
inlineprotected |
|
inlineprotected |
Creates a "valid" NoticeTarget
linked to the same NoticeSource
as the other NoticeTarget
.
So, both NoticeTarget
s will occur in the same target list.
|
inlineprotected |
|
protected |
Adds this NoticeTarget
to the target list in the specified NoticeSource
, so that it will receive all notices sent out by that NoticeSource
.
Referenced by NoticeTarget().
|
protected |
|
inline |
Makes the current NoticeTarget
"invalid".
Definition at line 166 of file Notice.h.
References casacore::False, and valid.
|
inline |
Returns a boolean value telling whether this NoticeTarget
is still attached to a NoticeSource
or not.
Definition at line 163 of file Notice.h.
References casacore::False, ilink, and casacore::True.
Referenced by casacore::RecordFieldPtr< casacore::String >::isAttached().
|
inline |
Returns a boolean value telling whether this NoticeTarget
is still "valid".
Definition at line 159 of file Notice.h.
References valid.
Referenced by casacore::ListIter< casacore::OrderedPair< key, val > >::addRight(), casacore::ConstListIter< casacore::OrderedPair< key, val > >::atEnd(), casacore::ConstListIter< casacore::OrderedPair< key, val > >::atStart(), casacore::ConstListIter< casacore::OrderedPair< key, val > >::getRight(), casacore::ListIter< casacore::OrderedPair< key, val > >::getRight(), casacore::ConstListIter< casacore::OrderedPair< key, val > >::len(), NoticeTarget(), casacore::ConstListIter< casacore::OrderedPair< key, val > >::operator++(), casacore::ConstListIter< casacore::OrderedPair< key, val > >::pos(), casacore::ConstListIter< casacore::OrderedPair< key, val > >::step(), casacore::ConstListIter< casacore::OrderedPair< key, val > >::toEnd(), and casacore::ConstListIter< casacore::OrderedPair< key, val > >::toStart().
|
protected |
Links this NoticeTarget
to the same NoticeSource
as the other NoticeTarget
.
Any previous link will be undone.
|
protected |
|
inlineprotected |
Retrieves the next NoticeTarget
in the target list of the associated NoticeSource
.
Definition at line 217 of file Notice.h.
References ilink.
|
inlineprotected |
|
pure virtual |
Hook through which NoticeTarget
s are notified (by NoticeSource
s).
Implemented in casacore::OrderedMapIterRep< t, v >, casacore::ConstListIter< t >, casacore::ConstListIter< casacore::OrderedPair< key, val > >, casacore::RecordFieldPtr< T >, casacore::RecordFieldPtr< casacore::Array< Double > >, casacore::RecordFieldPtr< Float >, casacore::RecordFieldPtr< recordType >, casacore::RecordFieldPtr< Double >, casacore::RecordFieldPtr< casacore::Array< casacore::String > >, casacore::RecordFieldPtr< Short >, casacore::RecordFieldPtr< uChar >, casacore::RecordFieldPtr< Int >, casacore::RecordFieldPtr< casacore::Array< Complex > >, casacore::RecordFieldPtr< casacore::Array< Int > >, casacore::RecordFieldPtr< DComplex >, casacore::RecordFieldPtr< Bool >, casacore::RecordFieldPtr< casacore::Array< recordType > >, casacore::RecordFieldPtr< casacore::Array< Short > >, casacore::RecordFieldPtr< Complex >, casacore::RecordFieldPtr< casacore::Array< Float > >, casacore::RecordFieldPtr< casacore::Array< uChar > >, casacore::RecordFieldPtr< outType >, casacore::RecordFieldPtr< inType >, casacore::RecordFieldPtr< casacore::Array< T > >, casacore::RecordFieldPtr< casacore::Array< Bool > >, casacore::RecordFieldPtr< casacore::Array< DComplex > >, and casacore::RecordFieldPtr< casacore::String >.
|
protected |
Unlinks this NoticeTarget
from its NoticeSource
.
The NoticeTarget
will be removed from the target list.
|
friend |
|
protected |
Definition at line 175 of file Notice.h.
Referenced by NoticeTarget().
|
protected |
Definition at line 174 of file Notice.h.
Referenced by isAttached(), and next().
|
protected |
Definition at line 176 of file Notice.h.
Referenced by invalidate(), and isValid().