summaryrefslogtreecommitdiff
path: root/epan/filter_expressions.h
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2017-06-22 11:34:48 -0400
committerMichael Mann <mmann78@netscape.net>2017-06-26 02:44:05 +0000
commit1b7f5d9f798634770656a82aaa2df30f7f01a9b0 (patch)
treed6f5e76b402f8125bb2ca25c6c88c6b99408880b /epan/filter_expressions.h
parent395775acce1ef9624fdf2030179683f37a27cd59 (diff)
downloadwireshark-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.h26
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
}