Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions
plugin_if.h File Reference
#include "ws_symbol_export.h"
#include "ws_attributes.h"
#include <glib.h>
#include <epan/epan.h>
#include <epan/frame_data.h>
#include <epan/cfile.h>

Go to the source code of this file.

Classes

struct  _ext_menubar_t
 Represents a node in the plugin-registered menubar tree (menu, item, separator, or URL). More...
 
struct  _ext_toolbar_value_t
 A single selectable value entry for a selector-type toolbar item. More...
 
struct  _ext_toolbar_t
 Represents a node in the plugin-registered toolbar tree (bar or item). More...
 
struct  _ext_toolbar_update_t
 Carries the parameters for a single toolbar item update operation. More...
 
struct  _ws_info_t
 

Typedefs

typedef void(* ext_menubar_action_cb) (ext_menubar_gui_type gui_type, void *gui_object, void *user_data)
 Callback invoked when a menubar item is activated.
 
typedef struct _ext_menubar_t ext_menubar_t
 
typedef ext_menubar_t ext_menu_t
 
typedef void(* ext_toolbar_action_cb) (void *toolbar_item, void *item_data, void *user_data)
 Callback invoked when a toolbar item's value or button state changes.
 
typedef struct _ext_toolbar_value_t ext_toolbar_value_t
 A single selectable value entry for a selector-type toolbar item.
 
typedef struct _ext_toolbar_t ext_toolbar_t
 Represents a node in the plugin-registered toolbar tree (bar or item).
 
typedef struct _ext_toolbar_update_t ext_toolbar_update_t
 Carries the parameters for a single toolbar item update operation.
 
typedef struct _ws_info_t ws_info_t
 
typedef void(* plugin_if_gui_cb) (GHashTable *data_set)
 Callback function type for GUI-related actions.
 
typedef void *(* plugin_if_frame_data_cb) (frame_data *, void *)
 
typedef void *(* plugin_if_capture_file_cb) (capture_file *, void *)
 

Enumerations

enum  ext_menubar_gui_type { EXT_MENUBAR_GTK_GUI , EXT_MENUBAR_QT_GUI }
 Identifies the GUI toolkit hosting the menubar, passed to action callbacks. More...
 
enum  ext_menubar_entry_t { EXT_MENUBAR_MENU , EXT_MENUBAR_ITEM , EXT_MENUBAR_SEPARATOR , EXT_MENUBAR_URL }
 Classifies a node within the menubar entry tree. More...
 
enum  ext_toolbar_entry_t { EXT_TOOLBAR_BAR , EXT_TOOLBAR_ITEM }
 Classifies a node within the toolbar entry tree. More...
 
enum  ext_toolbar_item_t { EXT_TOOLBAR_BOOLEAN , EXT_TOOLBAR_BUTTON , EXT_TOOLBAR_STRING , EXT_TOOLBAR_SELECTOR }
 Specifies the widget type for a toolbar control item. More...
 
enum  ext_toolbar_update_type_t {
  EXT_TOOLBAR_UPDATE_VALUE , EXT_TOOLBAR_UPDATE_DATA , EXT_TOOLBAR_UPDATE_DATABYINDEX , EXT_TOOLBAR_UPDATE_DATA_ADD ,
  EXT_TOOLBAR_UPDATE_DATA_REMOVE , EXT_TOOLBAR_SET_ACTIVE
}
 Specifies the kind of update operation to apply to a toolbar item. More...
 
enum  plugin_if_callback_t {
  PLUGIN_IF_FILTER_ACTION_APPLY , PLUGIN_IF_FILTER_ACTION_PREPARE , PLUGIN_IF_PREFERENCE_SAVE , PLUGIN_IF_GOTO_FRAME ,
  PLUGIN_IF_GET_WS_INFO , PLUGIN_IF_GET_FRAME_DATA , PLUGIN_IF_GET_CAPTURE_FILE , PLUGIN_IF_REMOVE_TOOLBAR
}
 Identifies a GUI action that a plugin can invoke through the plugin interface callback mechanism. More...
 

Functions

WS_DLL_PUBLIC ext_menu_text_menubar_register_menu (int proto_id, const char *menulabel, bool is_plugin)
 Registers a new main menu.
 
WS_DLL_PUBLIC ext_menu_text_menubar_set_parentmenu (ext_menu_t *menu, const char *parentmenu)
 Sets a parent menu for the user menu.
 
WS_DLL_PUBLIC ext_menu_text_menubar_add_submenu (ext_menu_t *parent, const char *menulabel)
 Registers a new main menu.
 
WS_DLL_PUBLIC void ext_menubar_add_entry (ext_menu_t *parent_menu, const char *label, const char *tooltip, ext_menubar_action_cb callback, void *user_data)
 Registers a new menubar entry.
 
WS_DLL_PUBLIC void ext_menubar_add_separator (ext_menu_t *parent_menu)
 Registers a new separator entry.
 
WS_DLL_PUBLIC void ext_menubar_add_website (ext_menu_t *parent, const char *label, const char *tooltip, const char *url)
 Registers a entry for a website call.
 
WS_DLL_PUBLIC ext_toolbar_text_toolbar_register_toolbar (const char *toolbar_label)
 Registers a toolbar.
 
WS_DLL_PUBLIC void ext_toolbar_unregister_toolbar (ext_toolbar_t *toolbar)
 Removes a toolbar from the system.
 
WS_DLL_PUBLIC void ext_toolbar_unregister_toolbar_by_name (const char *toolbar_name)
 Removes a toolbar from the system by providing the name of the toolbar.
 
WS_DLL_PUBLIC ext_toolbar_text_toolbar_add_entry (ext_toolbar_t *parent_bar, ext_toolbar_item_t type, const char *label, const char *defvalue, const char *tooltip, bool capture_only, GList *value_list, bool is_required, const char *valid_regex, ext_toolbar_action_cb callback, void *user_data)
 Registers a new toolbar entry.
 
WS_DLL_PUBLIC GList * ext_toolbar_add_val (GList *entries, char *value, char *display, bool is_default)
 Adds a new value entry to an existing toolbar.
 
WS_DLL_PUBLIC void ext_toolbar_register_update_cb (ext_toolbar_t *entry, ext_toolbar_action_cb callback, void *item_data)
 Registers a callback for toolbar updates.
 
WS_DLL_PUBLIC void ext_toolbar_update_value (ext_toolbar_t *entry, void *data, bool silent)
 Updates the entry values.
 
WS_DLL_PUBLIC void ext_toolbar_update_data (ext_toolbar_t *entry, void *data, bool silent)
 Updates the entry data.
 
WS_DLL_PUBLIC void ext_toolbar_update_data_by_index (ext_toolbar_t *entry, void *data, void *idx, bool silent)
 Updates the entry data by index.
 
WS_DLL_PUBLIC void ext_toolbar_update_data_add_entry (ext_toolbar_t *entry, void *data, void *idx, bool silent)
 Adds the entry data by index.
 
WS_DLL_PUBLIC void ext_toolbar_update_data_remove_entry (ext_toolbar_t *entry, void *data, void *idx, bool silent)
 Removes an entry data by index.
 
WS_DLL_PUBLIC ext_toolbar_text_toolbar_entry_by_label (const ext_toolbar_t *toolbar, const char *label)
 Searches for and returns an entry from the toolbar with the given label.
 
WS_DLL_PUBLIC void ext_toolbar_update_data_set_active (ext_toolbar_t *entry, bool status)
 Sets the UI element for the given entry to the specified status.
 
WS_DLL_PUBLIC void plugin_if_register_gui_cb (plugin_if_callback_t actionType, plugin_if_gui_cb callback)
 Registers a callback function for GUI-related actions.
 
WS_DLL_PUBLIC void plugin_if_apply_filter (const char *filter_string, bool force)
 Applies the given filter string as display filter.
 
WS_DLL_PUBLIC void plugin_if_save_preference (const char *pref_module, const char *pref_key, const char *pref_value)
 Saves a preference to the main preference storage.
 
WS_DLL_PUBLIC void plugin_if_goto_frame (uint32_t framenr)
 Jumps to the given frame number.
 
WS_DLL_PUBLIC void plugin_if_get_ws_info (ws_info_t **ws_info)
 Takes a snapshot of status information from Wireshark.
 
WS_DLL_PUBLIC void * plugin_if_get_frame_data (plugin_if_frame_data_cb extract_cb, void *user_data)
 Gets frame_data for current packet, data are extracted by extract_cb.
 
WS_DLL_PUBLIC void * plugin_if_get_capture_file (plugin_if_capture_file_cb extract_cb, void *user_data)
 Gets capture_file, data are extracted by extract_cb.
 
WS_DLL_PUBLIC GList * ext_menubar_get_entries (void)
 Private Method for retrieving the menubar entries.
 
WS_DLL_PUBLIC GList * ext_toolbar_get_entries (void)
 Private Method for retrieving the toolbar entries.
 

Detailed Description

An API for Wireshark plugins

This enables wireshark dissectors, especially those implemented by plugins to register menubar entries, which then will call a pre-defined callback function for the dissector or plugin.

Also it implements additional methods, which allow plugins to interoperate with the main GUI.

Wireshark - Network traffic analyzer By Gerald Combs geral.nosp@m.d@wi.nosp@m.resha.nosp@m.rk.o.nosp@m.rg Copyright 1998 Gerald Combs

SPDX-License-Identifier: GPL-2.0-or-later

Typedef Documentation

◆ ext_menu_t

Convenience alias — a menu is the root form of ext_menubar_t

◆ ext_menubar_action_cb

typedef void(* ext_menubar_action_cb) (ext_menubar_gui_type gui_type, void *gui_object, void *user_data)

Callback invoked when a menubar item is activated.

Parameters
gui_typeThe GUI toolkit that triggered the action (see ext_menubar_gui_type).
gui_objectToolkit-specific widget or window object associated with the event.
user_dataCaller-supplied context pointer registered with the menu item.

◆ ext_toolbar_action_cb

typedef void(* ext_toolbar_action_cb) (void *toolbar_item, void *item_data, void *user_data)

Callback invoked when a toolbar item's value or button state changes.

Parameters
toolbar_itemHandle to the toolbar widget that was activated.
item_dataCurrent value or state data for the toolbar item.
user_dataCaller-supplied context pointer registered with the item.

◆ plugin_if_gui_cb

typedef void(* plugin_if_gui_cb) (GHashTable *data_set)

Callback function type for GUI-related actions.

This function type is used for callbacks that are registered to handle specific GUI-related actions in Wireshark. The callback will receive a GHashTable containing relevant data for the action being performed.

Parameters
data_setA GHashTable containing data relevant to the GUI action. The specific keys and values in the hash table will depend on the action type for which the callback is registered.

Enumeration Type Documentation

◆ ext_menubar_entry_t

Classifies a node within the menubar entry tree.

Enumerator
EXT_MENUBAR_MENU 

A submenu container that may hold child entries

EXT_MENUBAR_ITEM 

A clickable action item

EXT_MENUBAR_SEPARATOR 

A visual separator between items

EXT_MENUBAR_URL 

An item that opens a URL in a browser

◆ ext_menubar_gui_type

Identifies the GUI toolkit hosting the menubar, passed to action callbacks.

Enumerator
EXT_MENUBAR_GTK_GUI 

Legacy GTK+ GUI host

EXT_MENUBAR_QT_GUI 

Qt GUI host

◆ ext_toolbar_entry_t

Classifies a node within the toolbar entry tree.

Enumerator
EXT_TOOLBAR_BAR 

A toolbar container that holds child items

EXT_TOOLBAR_ITEM 

An individual control item within a toolbar

◆ ext_toolbar_item_t

Specifies the widget type for a toolbar control item.

Enumerator
EXT_TOOLBAR_BOOLEAN 

A toggle / checkbox control

EXT_TOOLBAR_BUTTON 

A momentary push-button

EXT_TOOLBAR_STRING 

A free-form text-entry field

EXT_TOOLBAR_SELECTOR 

A drop-down selector with a fixed list of values

◆ ext_toolbar_update_type_t

Specifies the kind of update operation to apply to a toolbar item.

Enumerator
EXT_TOOLBAR_UPDATE_VALUE 

Replace the item's current value

EXT_TOOLBAR_UPDATE_DATA 

Replace the item's full data set (e.g. selector list)

EXT_TOOLBAR_UPDATE_DATABYINDEX 

Update a single entry in the data set identified by index

EXT_TOOLBAR_UPDATE_DATA_ADD 

Append a new entry to the item's data set

EXT_TOOLBAR_UPDATE_DATA_REMOVE 

Remove an entry from the item's data set

EXT_TOOLBAR_SET_ACTIVE 

Set the enabled/active state of the item

◆ plugin_if_callback_t

Identifies a GUI action that a plugin can invoke through the plugin interface callback mechanism.

Enumerator
PLUGIN_IF_FILTER_ACTION_APPLY 

Apply the provided display filter string immediately to the packet list

PLUGIN_IF_FILTER_ACTION_PREPARE 

Stage the provided display filter string in the filter bar without applying it

PLUGIN_IF_PREFERENCE_SAVE 

Persist a preference key/value entry to the active profile

PLUGIN_IF_GOTO_FRAME 

Scroll the packet list to the specified frame number

PLUGIN_IF_GET_WS_INFO 

Retrieve status information about the currently loaded capture file

PLUGIN_IF_GET_FRAME_DATA 

Retrieve frame_data fields for the currently selected packet

PLUGIN_IF_GET_CAPTURE_FILE 

Retrieve the capture_file structure for the current capture

PLUGIN_IF_REMOVE_TOOLBAR 

Unregister and remove a previously added plugin toolbar from the GUI

Function Documentation

◆ ext_menubar_add_entry()

WS_DLL_PUBLIC void ext_menubar_add_entry ( ext_menu_t parent_menu,
const char *  label,
const char *  tooltip,
ext_menubar_action_cb  callback,
void *  user_data 
)

Registers a new menubar entry.

This registers a new menubar entry, which will have the given name, and call the provided callback on activation

Parameters
parent_menuthe parent menu for this entry
labelthe entry label (the displayed name) for the menu item
tooltipa tooltip to be displayed on mouse-over
callbackthe action which will be invoked after click on the menu item
user_dataa user data pointer

◆ ext_menubar_add_separator()

WS_DLL_PUBLIC void ext_menubar_add_separator ( ext_menu_t parent_menu)

Registers a new separator entry.

Note
This will not work using the legacy GTK interface, due to restrictions on how separators are handled in the menu
Parameters
parent_menuthe parent menu for this entry

◆ ext_menubar_add_submenu()

WS_DLL_PUBLIC ext_menu_t * ext_menubar_add_submenu ( ext_menu_t parent,
const char *  menulabel 
)

Registers a new main menu.

This will register a new sub menu entry, underneath the parent menu

Parameters
parentthe parent menu for this submenu
menulabelthe entry label (the displayed name) for the menu item

◆ ext_menubar_add_website()

WS_DLL_PUBLIC void ext_menubar_add_website ( ext_menu_t parent,
const char *  label,
const char *  tooltip,
const char *  url 
)

Registers a entry for a website call.

This registers a new menubar entry, which will call the given website, using the predefined webbrowser

Parameters
parentthe parent menu for this entry
labelthe entry label (the displayed name) for the menu item
tooltipa tooltip to be displayed on mouse-over
urlthe url for the website

◆ ext_menubar_get_entries()

WS_DLL_PUBLIC GList * ext_menubar_get_entries ( void  )

Private Method for retrieving the menubar entries.

Is only to be used by the UI interfaces to retrieve the menu entries

Returns
A list of menu entries.

◆ ext_menubar_register_menu()

WS_DLL_PUBLIC ext_menu_t * ext_menubar_register_menu ( int  proto_id,
const char *  menulabel,
bool  is_plugin 
)

Registers a new main menu.

This will register a new main menu entry, underneath all other menu entries will be sorted

Parameters
proto_idthe proto item for the protocol this menu entry belongs too
menulabelthe entry label (the displayed name) for the menu item
is_pluginmust be set to true for plugin registration

◆ ext_menubar_set_parentmenu()

WS_DLL_PUBLIC ext_menu_t * ext_menubar_set_parentmenu ( ext_menu_t menu,
const char *  parentmenu 
)

Sets a parent menu for the user menu.

This will set a parent menu, which allows this menu to be filtered underneath the given menu as a submenu. If the parent menu does not exist, the main menu will be used

Parameters
menuthe menu for which to add the entry
parentmenua valid menu name for the parent menu

◆ ext_toolbar_add_entry()

WS_DLL_PUBLIC ext_toolbar_t * ext_toolbar_add_entry ( ext_toolbar_t parent_bar,
ext_toolbar_item_t  type,
const char *  label,
const char *  defvalue,
const char *  tooltip,
bool  capture_only,
GList *  value_list,
bool  is_required,
const char *  valid_regex,
ext_toolbar_action_cb  callback,
void *  user_data 
)

Registers a new toolbar entry.

This registers a new toolbar entry, which will have the given name, and call the provided callback on activation

The callback will be fired on different events, depending on the item type and the implementation of the item type in a GUI element. The following types should behave as following

  • EXT_TOOLBAR_STRING - Every change of the content fires the callback
  • EXT_TOOLBAR_BOOLEAN - Every change of the value fires the callback
  • EXT_TOOLBAR_BUTTON - if the button is pressed, the callback fires
  • EXT_TOOLBAR_SELECTION - every time the selection changes the callback fires
Parameters
parent_barthe parent toolbar for this entry
typetype of the toolbar item
labelthe entry label (the displayed name) for the item
defvaluethe default value for the toolbar element
tooltipa tooltip to be displayed on mouse-over
capture_onlyentry is only active, if capture is active
value_lista non-null list of values, if the item type is EXT_TOOLBAR_SELECTOR
is_requiredif the item is required to be shown in the toolbar, if false, the user can choose to hide the item
valid_regexa validation regular expression for EXT_TOOLBAR_STRING
callbackthe action which will be invoked after click on the item
user_dataa user data pointer
Returns
a reference to the newly created toolbar entry

◆ ext_toolbar_add_val()

WS_DLL_PUBLIC GList * ext_toolbar_add_val ( GList *  entries,
char *  value,
char *  display,
bool  is_default 
)

Adds a new value entry to an existing toolbar.

Parameters
entriesThe list of existing toolbar entries.
valueThe value associated with the entry.
displayThe display text for the entry.
is_defaultIndicates if this entry should be set as default.
Returns
GList* The updated list of toolbar entries with the new value added.

◆ ext_toolbar_entry_by_label()

WS_DLL_PUBLIC ext_toolbar_t * ext_toolbar_entry_by_label ( const ext_toolbar_t toolbar,
const char *  label 
)

Searches for and returns an entry from the toolbar with the given label.

Parameters
toolbarThe toolbar to search in
labelThe label of the entry to search for
Returns
The found entry or NULL if not found

◆ ext_toolbar_get_entries()

WS_DLL_PUBLIC GList * ext_toolbar_get_entries ( void  )

Private Method for retrieving the toolbar entries.

Is only to be used by the UI interfaces to retrieve the toolbar entries

Returns
A list of toolbar entries.

◆ ext_toolbar_register_toolbar()

WS_DLL_PUBLIC ext_toolbar_t * ext_toolbar_register_toolbar ( const char *  toolbar_label)

Registers a toolbar.

This will register a new toolbar, which can contain various gui elements

Parameters
toolbar_labelthe entry label (the displayed name) for the toolbar item

◆ ext_toolbar_register_update_cb()

WS_DLL_PUBLIC void ext_toolbar_register_update_cb ( ext_toolbar_t entry,
ext_toolbar_action_cb  callback,
void *  item_data 
)

Registers a callback for toolbar updates.

This function allows you to register a callback that will be called whenever a toolbar entry is updated. The callback will receive the updated entry, the type of update, and any user data associated with the entry.

Parameters
entryThe toolbar entry for which to register the update callback.
callbackThe callback function to be called when the toolbar entry is updated.
item_dataUser data to be passed to the callback function when it is called.

◆ ext_toolbar_unregister_toolbar()

WS_DLL_PUBLIC void ext_toolbar_unregister_toolbar ( ext_toolbar_t toolbar)

Removes a toolbar from the system.

This will remove the provided toolbar from the application

Parameters
toolbarthe toolbar to be removed

◆ ext_toolbar_unregister_toolbar_by_name()

WS_DLL_PUBLIC void ext_toolbar_unregister_toolbar_by_name ( const char *  toolbar_name)

Removes a toolbar from the system by providing the name of the toolbar.

This will remove the provided toolbar from the application

Parameters
toolbar_namethe name of the toolbar to be removed

◆ ext_toolbar_update_data()

WS_DLL_PUBLIC void ext_toolbar_update_data ( ext_toolbar_t entry,
void *  data,
bool  silent 
)

Updates the entry data.

Update the data for the entry, it is up to the implemented widget, to interpret the given character data

Parameters
entrythe entry to be updated
datathe data for the entry
silentthe update for the entry should not trigger additional actions

◆ ext_toolbar_update_data_add_entry()

WS_DLL_PUBLIC void ext_toolbar_update_data_add_entry ( ext_toolbar_t entry,
void *  data,
void *  idx,
bool  silent 
)

Adds the entry data by index.

This is used to add a single entry to a selector list, by giving it's new value and a new display entry. If the value already exists, the selector may choose to ignore the command

Parameters
entrythe toolbar item to be updated
datathe display data for the entry to be added
idxthe value for the entry to be added
silentthe adding of the entry should not trigger additional actions

◆ ext_toolbar_update_data_by_index()

WS_DLL_PUBLIC void ext_toolbar_update_data_by_index ( ext_toolbar_t entry,
void *  data,
void *  idx,
bool  silent 
)

Updates the entry data by index.

This is used to update a single entry of a selector list, by giving it's value and a new display entry

Parameters
entrythe toolbar item to be updated
datathe display data for the entry
idxthe value for the entry to be updated
silentthe update for the entry should not trigger additional actions

◆ ext_toolbar_update_data_remove_entry()

WS_DLL_PUBLIC void ext_toolbar_update_data_remove_entry ( ext_toolbar_t entry,
void *  data,
void *  idx,
bool  silent 
)

Removes an entry data by index.

This is used to remove a single entry to a selector list, by giving it's value and a display entry. If the value already exists, the selector may choose to ignore the command. Both value and display must be given, as it is not established, how the entry is found in the selector list

Parameters
entrythe toolbar item to be updated
datathe display data for the entry to be removed
idxthe value for the entry to be removed
silentthe removal of the entry should not trigger additional actions

◆ ext_toolbar_update_data_set_active()

WS_DLL_PUBLIC void ext_toolbar_update_data_set_active ( ext_toolbar_t entry,
bool  status 
)

Sets the UI element for the given entry to the specified status.

Parameters
entryThe toolbar entry to update
statusThe status to set

◆ ext_toolbar_update_value()

WS_DLL_PUBLIC void ext_toolbar_update_value ( ext_toolbar_t entry,
void *  data,
bool  silent 
)

Updates the entry values.

Update the values for the entry, it is up to the implemented widget, to interpret the given character values

Parameters
entrythe entry to be updated
datathe data for the entry
silentthe update for the entry should not trigger additional actions

◆ plugin_if_apply_filter()

WS_DLL_PUBLIC void plugin_if_apply_filter ( const char *  filter_string,
bool  force 
)

Applies the given filter string as display filter.

Parameters
filter_stringThe filter string to apply
forceWhether to force the filter application

◆ plugin_if_get_capture_file()

WS_DLL_PUBLIC void * plugin_if_get_capture_file ( plugin_if_capture_file_cb  extract_cb,
void *  user_data 
)

Gets capture_file, data are extracted by extract_cb.

Parameters
extract_cbThe callback function to extract capture file data.
user_dataUser-defined data to pass to the callback function.
Returns
Pointer to the extracted capture file data.

◆ plugin_if_get_frame_data()

WS_DLL_PUBLIC void * plugin_if_get_frame_data ( plugin_if_frame_data_cb  extract_cb,
void *  user_data 
)

Gets frame_data for current packet, data are extracted by extract_cb.

Parameters
extract_cbThe callback function to extract frame data.
user_dataUser-defined data to pass to the callback function.
Returns
Pointer to the extracted frame data.

◆ plugin_if_get_ws_info()

WS_DLL_PUBLIC void plugin_if_get_ws_info ( ws_info_t **  ws_info)

Takes a snapshot of status information from Wireshark.

Parameters
ws_infoPointer to a ws_info_t structure to store the status information.

◆ plugin_if_goto_frame()

WS_DLL_PUBLIC void plugin_if_goto_frame ( uint32_t  framenr)

Jumps to the given frame number.

Parameters
framenrThe frame number to jump to.

◆ plugin_if_register_gui_cb()

WS_DLL_PUBLIC void plugin_if_register_gui_cb ( plugin_if_callback_t  actionType,
plugin_if_gui_cb  callback 
)

Registers a callback function for GUI-related actions.

Parameters
actionTypeThe type of action to register the callback for.
callbackThe callback function to be called when the action occurs.

◆ plugin_if_save_preference()

WS_DLL_PUBLIC void plugin_if_save_preference ( const char *  pref_module,
const char *  pref_key,
const char *  pref_value 
)

Saves a preference to the main preference storage.

Parameters
pref_moduleThe module name of the preference.
pref_keyThe key name of the preference.
pref_valueThe value to save for the preference.