diff options
author | guy <guy@f5534014-38df-0310-8fa8-9805f1628bb7> | 2003-04-23 03:51:03 +0000 |
---|---|---|
committer | guy <guy@f5534014-38df-0310-8fa8-9805f1628bb7> | 2003-04-23 03:51:03 +0000 |
commit | 9abce60635dcb0bd95cbca2db2796dad0dc301c4 (patch) | |
tree | e7b3cf15f160bb39b9939f6a9fcbbfbce4ba51b6 /make-tapreg-dotc | |
parent | 5a53268e4cde9f3278a29404958e373e9fd17017 (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.)
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@7540 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'make-tapreg-dotc')
-rwxr-xr-x | make-tapreg-dotc | 19 |
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 done 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 "$@" +do + 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 +done +echo '}' >>${outfile}-tmp + mv ${outfile}-tmp ${outfile} |