diff options
author | Michael Mann <mmann78@netscape.net> | 2014-12-17 21:55:52 -0500 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2014-12-19 07:59:28 +0000 |
commit | 1f031808e16eeb56d7c822dbe7ebe2fdc7652e00 (patch) | |
tree | 798d3859ef14b3de75a7abe0791e4a3d7b119aa3 /epan/color_dissector_filters.c | |
parent | 792c01ab1ab937e581a6d77ac2782e9483a9ce3a (diff) |
Use new color_dissector_filters.[ch] to refactor (color) conversation generation in GTK menus.
Change-Id: I5868a40b71a989a3a1522cb091064bb0aaec6daf
Reviewed-on: https://code.wireshark.org/review/5828
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/color_dissector_filters.c')
-rw-r--r-- | epan/color_dissector_filters.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/epan/color_dissector_filters.c b/epan/color_dissector_filters.c index 4f6f07492f..bc8991e0fe 100644 --- a/epan/color_dissector_filters.c +++ b/epan/color_dissector_filters.c @@ -31,18 +31,36 @@ GList *color_conv_filter_list = NULL; -void register_color_conversation_filter(const char *name, is_color_conv_valid_func is_filter_valid, build_color_conv_string_func build_filter_string) { +void register_color_conversation_filter(const char *proto_name, const char *display_name, + is_color_conv_valid_func is_filter_valid, build_color_conv_string_func build_filter_string) { color_conversation_filter_t *entry; entry = (color_conversation_filter_t *)g_malloc(sizeof(color_conversation_filter_t)); - entry->name = name; + entry->proto_name = proto_name; + entry->display_name = display_name; entry->is_filter_valid = is_filter_valid; entry->build_filter_string = build_filter_string; color_conv_filter_list = g_list_append(color_conv_filter_list, entry); } +struct color_conversation_filter_s* find_color_conversation_filter(const char *name) +{ + GList *list_entry = color_conv_filter_list; + color_conversation_filter_t* color_filter; + + while (list_entry != NULL) { + color_filter = (color_conversation_filter_t*)list_entry->data; + if (!strcmp(color_filter->proto_name, name)) + return color_filter; + + list_entry = g_list_next(list_entry); + } + + return NULL; +} + /* * Editor modelines - http://www.wireshark.org/tools/modelines.html * |