diff options
author | Joel Brobecker <brobecker@gnat.com> | 2003-03-18 17:44:23 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2003-03-18 17:44:23 +0000 |
commit | bcd7e15f07189331ac97875099d78409917ec8f4 (patch) | |
tree | 0ecd031ee8b2a25f1af573207989f4f6cea60d5a /gdb/doc/gdbint.texinfo | |
parent | 79b8ff3ee06debd98c5da85121b49f124a7516e4 (diff) | |
download | gdb-bcd7e15f07189331ac97875099d78409917ec8f4.zip gdb-bcd7e15f07189331ac97875099d78409917ec8f4.tar.gz gdb-bcd7e15f07189331ac97875099d78409917ec8f4.tar.bz2 |
* gdbint.texinfo (Algorithms): Add new section describing the
Observer paradigm.
(Top): Add menu entry to new observer appendix.
* observer.texi: New file.
* Makefile.in (GDBINT_DOC_SOURCE_INCLUDES): Add dependency on
new observer.texi file.
Diffstat (limited to 'gdb/doc/gdbint.texinfo')
-rw-r--r-- | gdb/doc/gdbint.texinfo | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo index 186d9e7..2abfe34 100644 --- a/gdb/doc/gdbint.texinfo +++ b/gdb/doc/gdbint.texinfo @@ -94,6 +94,7 @@ as the mechanisms that adapt @value{GDBN} to specific hosts and targets. * Testsuite:: * Hints:: +* GDB Observers:: @value{GDBN} Currently available observers * GNU Free Documentation License:: The license for this documentation * Index:: @end menu @@ -696,6 +697,29 @@ watchpoints might interfere with the underlying OS and are probably unavailable in many platforms. @end enumerate +@section Observing changes in @value{GDBN} internals +@cindex observer pattern interface +@cindex notifications about changes in internals + +In order to function properly, several modules need to be notified when +some changes occur in the @value{GDBN} internals. Traditionally, these +modules have relied on several paradigms, the most common ones being +hooks and gdb-events. Unfortunately, none of these paradigms was +versatile enough to become the standard notification mechanism in +@value{GDBN}. The fact that they only supported one ``client'' was also +a strong limitation. + +A new paradigm, based on the Observer pattern of the @cite{Design +Patterns} book, has therefore been implemented. The goal was to provide +a new interface overcoming the issues with the notification mechanisms +previously available. This new interface needed to be strongly typed, +easy to extend, and versatile enough to be used as the standard +interface when adding new notifications. + +See @ref{GDB Observers} for a brief description of the observers +currently implemented in GDB. The rationale for the current +implementation is also briefly discussed. + @node User Interface @chapter User Interface @@ -6595,6 +6619,7 @@ is so old that it has never been converted to use BFD. Now that's old! @end table +@include observer.texi @include fdl.texi @node Index |