diff options
author | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2012-07-15 16:24:35 +0000 |
---|---|---|
committer | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2012-07-15 16:24:35 +0000 |
commit | 1d4d248b431d98b3cac8032c4f5dfb29e05f3dcd (patch) | |
tree | c494459b75db5141e5035de2546e23ce53f01fc9 /epan/stats_tree.c | |
parent | c43f1f092599315af2dfd11ed77a5a90f288016d (diff) |
From Wonil Kim: Enable statistics menu register for the tap plug-in. Fixes https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7466
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@43726 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/stats_tree.c')
-rw-r--r-- | epan/stats_tree.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/epan/stats_tree.c b/epan/stats_tree.c index 6e1c52d56e..799bcdb88a 100644 --- a/epan/stats_tree.c +++ b/epan/stats_tree.c @@ -270,6 +270,7 @@ stats_tree_register_with_group(const char *tapname, const char *abbr, const char /* at the very least the abbrev and the packet function should be given */ g_assert( tapname && abbr && packet ); + cfg->plugin = FALSE; cfg->tapname = g_strdup(tapname); cfg->abbr = g_strdup(abbr); cfg->name = name ? g_strdup(name) : g_strdup(abbr); @@ -294,7 +295,6 @@ stats_tree_register_with_group(const char *tapname, const char *abbr, const char if (!registry) registry = g_hash_table_new(g_str_hash,g_str_equal); g_hash_table_insert(registry,cfg->abbr,cfg); - } /* register a new stats_tree with default group REGISTER_STAT_GROUP_UNSORTED */ @@ -310,6 +310,23 @@ stats_tree_register(const char *tapname, const char *abbr, const char *name, cleanup, REGISTER_STAT_GROUP_UNSORTED); } +/* register a new stat_tree with default group REGISTER_STAT_GROUP_UNSORTED from a plugin */ +extern void +stats_tree_register_plugin(const char *tapname, const char *abbr, const char *name, + guint flags, + stat_tree_packet_cb packet, stat_tree_init_cb init, + stat_tree_cleanup_cb cleanup) +{ + stats_tree_cfg *cfg; + + stats_tree_register(tapname, abbr, name, + flags, + packet, init, + cleanup); + cfg = stats_tree_get_cfg_by_abbr((char*)abbr); + cfg->plugin = TRUE; +} + extern stats_tree* stats_tree_new(stats_tree_cfg *cfg, tree_pres *pr, const char *filter) { @@ -362,6 +379,11 @@ stats_tree_get_cfg_by_abbr(char *abbr) return g_hash_table_lookup(registry,abbr); } +extern GList* +stats_tree_get_cfg_list(void) +{ + return g_hash_table_get_values(registry); +} struct _stats_tree_pres_cbs { void (*setup_node_pr)(stat_node*); |