path: root/make-tapreg-dotc
diff options
authorGuy Harris <guy@alum.mit.edu>2003-04-23 03:51:03 +0000
committerGuy Harris <guy@alum.mit.edu>2003-04-23 03:51:03 +0000
commit4cfd8b0f360efd2d867333b80f201d13c630f7c8 (patch)
treee7b3cf15f160bb39b9939f6a9fcbbfbce4ba51b6 /make-tapreg-dotc
parent6b0b09b402cb6e47f4f78f867ef10dc43af1b42c (diff)
Allow taps to have menu item registration routines; the menu item
registration routines, for taps with menu items (taps that can be run from the "Tools->Statistics" menu), create the menu item for the tap. "make-tapreg-dotc" constructs a "register_all_tap_menus()" function that calls all the tap menu item registration routines it finds, and Ethereal calls that routine after the main window has been constructed (so that the main menu exists, as the menu items are added to it). (Tethereal doesn't call it.) Get rid of the "menu" and "menu_init" arguments to "register_ethereal_tap"; the menu item is registered in the tap's menu item registration routine, not in its main registration routine. Have the RTP GUI tap register its menu item that way, rather than by having it compiled into "gtk/menu.c". (We're not ready yet to have taps whose menu items are under a submenu register themselves in that fashion, as "register_tap_menu_item()" can't yet create submenus.) svn path=/trunk/; revision=7540
Diffstat (limited to 'make-tapreg-dotc')
1 files changed, 19 insertions, 0 deletions
diff --git a/make-tapreg-dotc b/make-tapreg-dotc
index d3c470529c..f68720633c 100755
--- a/make-tapreg-dotc
+++ b/make-tapreg-dotc
@@ -39,4 +39,23 @@ done | while read func; do
echo '}' >>${outfile}-tmp
+# Build code to call all the tap listener menu item registration routines.
+echo 'void register_all_tap_menus(void) {' >>${outfile}-tmp
+for f in "$@"
+ if [ -f $f ]
+ then
+ srcfile=$f
+ else
+ srcfile=$srcdir/$f
+ fi
+ grep '^register_tap_menu_[a-z_0-9A-Z]* *(' $srcfile 2>/dev/null | grep -v ';' | sed -e 's/(.*//'
+done | while read func; do
+ echo " { extern void $func (void);" >>${outfile}-tmp
+ echo " $func ();}" >>${outfile}-tmp
+echo '}' >>${outfile}-tmp
mv ${outfile}-tmp ${outfile}