diff options
author | Michael Mann <mmann78@netscape.net> | 2017-06-22 11:34:48 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2017-06-26 02:44:05 +0000 |
commit | 1b7f5d9f798634770656a82aaa2df30f7f01a9b0 (patch) | |
tree | d6f5e76b402f8125bb2ca25c6c88c6b99408880b /epan/filter_expressions.h | |
parent | 395775acce1ef9624fdf2030179683f37a27cd59 (diff) | |
download | wireshark-1b7f5d9f798634770656a82aaa2df30f7f01a9b0.tar.gz |
Convert filter expressions preference data to a UAT.
The filter expressions data was shoved into the preference file in a
very loose, non-arrayed form. It's much easier to manage in code
(and for users in a separate file) as a UAT.
The GTK GUI was hacked to use the existing UAT dialog rather than
rewrite the pref_filter_expressions.c to support a UAT. Should
be okay since it's deprecated.
Change-Id: I688cebb4b7b6594878c1398365e79a205f1902d9
Ping-Bug: 13814
Reviewed-on: https://code.wireshark.org/review/22354
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/filter_expressions.h')
-rw-r--r-- | epan/filter_expressions.h | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/epan/filter_expressions.h b/epan/filter_expressions.h index a5042fff09..a9af58860a 100644 --- a/epan/filter_expressions.h +++ b/epan/filter_expressions.h @@ -25,6 +25,9 @@ #include "ws_symbol_export.h" +#include <epan/prefs.h> +#include <epan/wmem/wmem.h> + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ @@ -33,19 +36,15 @@ extern "C" { * Filter expressions. */ -struct filter_expression { - gpointer button; /* Filter toolbar */ +typedef struct filter_expression { + gpointer button; /* Filter toolbar (GTK only) */ gchar *label; gchar *expression; - gint filter_index; gboolean enabled; /* Can be set to FALSE by Preferences Dialog */ - gboolean deleted; /* Can be set to TRUE by Preferences Dialog (GTK+ only) */ - - struct filter_expression *next; -}; +} filter_expression_t; -WS_DLL_PUBLIC struct filter_expression **pfilter_expression_head; +WS_DLL_PUBLIC void filter_expression_iterate_expressions(wmem_foreach_func func, void* user_data); /** Create a filter expression * @@ -55,16 +54,11 @@ WS_DLL_PUBLIC struct filter_expression **pfilter_expression_head; * @return A newly allocated and initialized struct filter_expression. */ WS_DLL_PUBLIC -struct filter_expression *filter_expression_new(const gchar *label, +filter_expression_t *filter_expression_new(const gchar *label, const gchar *expr, const gboolean enabled); -void filter_expression_init(void); - -/** Clear the filter expression list. - * Frees each item in the list. Caller should set list_head to NULL afterward. - */ -WS_DLL_PUBLIC -void filter_expression_free(struct filter_expression *list_head); +/* Keep the UAT structure local to the filter_expressions */ +void filter_expression_register_uat(module_t* pref_module); #ifdef __cplusplus } |