diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
commit | e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch) | |
tree | 68cb5ef9081156392f1dd62a00c6ccc1451b93df /ui/profile.h | |
parent | Initial commit. (diff) | |
download | wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip |
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ui/profile.h')
-rw-r--r-- | ui/profile.h | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/ui/profile.h b/ui/profile.h new file mode 100644 index 00000000..ebec39b7 --- /dev/null +++ b/ui/profile.h @@ -0,0 +1,124 @@ +/** @file + * + * Definitions for dialog box for profiles editing. + * Stig Bjorlykke <stig@bjorlykke.org>, 2008 + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef __PROFILE_H__ +#define __PROFILE_H__ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/** @file + * "Configuration Profiles" dialog box + * @ingroup dialog_group + */ + +#define PROF_STAT_DEFAULT 1 +#define PROF_STAT_EXISTS 2 +#define PROF_STAT_NEW 3 +#define PROF_STAT_CHANGED 4 +#define PROF_STAT_COPY 5 +#define PROF_STAT_IMPORT 6 + +typedef struct { + char *name; /* profile name */ + char *reference; /* profile reference */ + int status; + gboolean is_global; + gboolean from_global; + gboolean is_import; +} profile_def; + +/** @file + * "Configuration Profiles" utility routines + * @ingroup utility_group + */ + +/** Initialize the profile list. Can be called more than once. + */ +void init_profile_list(void); + +/** User requested the "Configuration Profiles" popup menu. + * + * @param name Profile name + * @param parent Parent profile name + * @param status Current status + * @param is_global Profile is in the global configuration directory + * @param from_global Profile is copied from the global configuration directory + * @param is_import Profile has been imported and no directory has to be created + * + * @return A pointer to the new profile list + */ +GList *add_to_profile_list(const char *name, const char *parent, int status, + gboolean is_global, gboolean from_global, gboolean is_import); + +/** Refresh the current (non-edited) profile list. + */ +void copy_profile_list(void); + +/** Clear out the profile list + * + * @param edit_list Remove edited entries + */ +void empty_profile_list(gboolean edit_list); + +/** Remove an entry from the profile list. + * + * @param fl_entry Profile list entry + */ +void remove_from_profile_list(GList *fl_entry); + +/** Current profile list + * + * @return The head of the current profile list + */ +GList *current_profile_list(void); + +/** Edited profile list + * + * @return The head of the edited profile list + */ +GList * edited_profile_list(void); + +/** Apply the changes in the edited profile list + * @return NULL if the operation was successful or an error message otherwise. + * The error message must be freed by the caller. + */ +gchar *apply_profile_changes(void); + +/** Given a profile name, return the name of its parent profile. + * + * @param profilename Child profile name + * + * @return Parent profile name + */ +const gchar *get_profile_parent (const gchar *profilename); + +/** Check the validity of a profile name. + * + * @param name Profile name + * @return NULL if the name is valid or an error message otherwise. + */ +gchar *profile_name_is_valid(const gchar *name); + +/** Remove the current profile. + * + * @return TRUE if the current profile exists and was successfully deleted + * or FALSE otherwise. + */ +gboolean delete_current_profile(void); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __PROFILE_H__ */ |