aboutsummaryrefslogtreecommitdiffstats
path: root/make-tapreg-dotc
diff options
context:
space:
mode:
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2003-04-23 03:51:03 +0000
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2003-04-23 03:51:03 +0000
commit9abce60635dcb0bd95cbca2db2796dad0dc301c4 (patch)
treee7b3cf15f160bb39b9939f6a9fcbbfbce4ba51b6 /make-tapreg-dotc
parent5a53268e4cde9f3278a29404958e373e9fd17017 (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-xmake-tapreg-dotc19
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}