diff options
Diffstat (limited to 'ui/preference_utils.h')
-rw-r--r-- | ui/preference_utils.h | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/ui/preference_utils.h b/ui/preference_utils.h new file mode 100644 index 00000000..f115f0a4 --- /dev/null +++ b/ui/preference_utils.h @@ -0,0 +1,119 @@ +/** @file + * + * Routines for handling preferences + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef __PREFRENCE_UTILS_H__ +#define __PREFRENCE_UTILS_H__ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/** @file + * Preference utility routines. + * @ingroup prefs_group + */ + +/** If autoscroll in live captures is active or not + */ +extern gboolean auto_scroll_live; + +/** Fill in capture options with values from the preferences + */ +extern void prefs_to_capture_opts(void); + +/** Save all preferences + */ +extern void prefs_main_write(void); + +/** Convenient function for plugin_if + * + * Note: The preferences must exist, it is not possible to create entries + * using this function + * + * @param module the module for the preference + * @param key the key for the preference + * @param value the new value as string for the preference + * + * @return flags of types of preferences changed, non-zero if the value has been stored successfully + */ +extern unsigned int prefs_store_ext(const char * module, const char * key, const char * value); + +/** Convenient function for the writing of multiple preferences, without + * explicitly having prefs_t variables. + * + * Note: The preferences must exist, it is not possible to create entries + * using this function + * + * @param module the module for the preference + * @param pref_values a hash table + * + * @return true if the value has been stored successfully + */ +extern gboolean prefs_store_ext_multiple(const char * module, GHashTable * pref_values); + +/** Add a custom column. + * + * @param fmt column format + * @param title column title + * @param custom_field column custom field + * @param position the intended position of the insert + * + * @return The index of the inserted column + */ +gint column_prefs_add_custom(gint fmt, const gchar *title, + const gchar *custom_field, + gint position); + +/** Check if a custom column exists. + * + * @param custom_field column custom field + * + * @return The index of the column if existing, -1 if not existing + */ +gint column_prefs_has_custom(const gchar *custom_field); + +/** Check if a custom column's data can be displayed differently + * resolved or unresolved, e.g. it has a field with a value string. + * + * This is for when adding or editing custom columns. Compare with + * resolve_column() in packet_list_utils.h, which is for columns + * that have already been added. + * + * @param custom_field column custom field + * + * @return TRUE if a custom column with the field description + * would support being displayed differently resolved or unresolved, + * FALSE otherwise. + */ +gboolean column_prefs_custom_resolve(const gchar *custom_field); + +/** Remove a column. + * + * @param col_link Column list entry + */ +void column_prefs_remove_link(GList* col_link); + +/** Remove a column. + * + * @param col Column number + */ +void column_prefs_remove_nth(gint col); + +/** Save the UAT and complete migration of old preferences by writing the main + * preferences file (if necessary). + */ +void save_migrated_uat(const char *uat_name, gboolean *old_pref); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __PREFRENCE_UTILS_H__ */ |