Index: gdbint.texinfo =================================================================== RCS file: /cvs/src/src/gdb/doc/gdbint.texinfo,v retrieving revision 1.127 diff -c -r1.127 gdbint.texinfo *** gdbint.texinfo 5 Mar 2003 23:14:18 -0000 1.127 --- gdbint.texinfo 9 Mar 2003 06:45:25 -0000 *************** *** 40,46 **** @author Cygnus Solutions @page @tex ! \def\$#1${{#1}} % Kluge: collect RCS revision info without $...$ \xdef\manvers{\$Revision$} % For use in headers, footers too {\parskip=0pt \hfill Cygnus Solutions\par --- 40,46 ---- @author Cygnus Solutions @page @tex ! \def\$#1${{#1}} % Kludge: collect RCS revision info without $...$ \xdef\manvers{\$Revision$} % For use in headers, footers too {\parskip=0pt \hfill Cygnus Solutions\par *************** *** 95,100 **** --- 95,101 ---- * Hints:: * GNU Free Documentation License:: The license for this documentation + * GDB Observers:: @value{GDBN} Observers currently available * Index:: @end menu *************** *** 696,701 **** --- 697,723 ---- unavailable in many platforms. @end enumerate + @section Observing changes in @value{GDBN} internals + @cindex observer + + 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. + + The rationale for the current implementation of the Observer pattern + is described in @file{observer.c}. + @node User Interface @chapter User Interface *************** *** 6578,6583 **** --- 6600,6606 ---- @end table @include fdl.texi + @include observer.texi @node Index @unnumbered Index Index: Makefile.in =================================================================== RCS file: /cvs/src/src/gdb/doc/Makefile.in,v retrieving revision 1.26 diff -c -r1.26 Makefile.in *** Makefile.in 3 Mar 2003 03:59:16 -0000 1.26 --- Makefile.in 9 Mar 2003 06:45:21 -0000 *************** *** 114,120 **** # Internals Manual GDBINT_DOC_SOURCE_INCLUDES = \ ! $(srcdir)/fdl.texi GDBINT_DOC_BUILD_INCLUDES = \ gdb-cfg.texi \ GDBvn.texi --- 114,121 ---- # Internals Manual GDBINT_DOC_SOURCE_INCLUDES = \ ! $(srcdir)/fdl.texi \ ! $(srcdir)/observer.texi GDBINT_DOC_BUILD_INCLUDES = \ gdb-cfg.texi \ GDBvn.texi