17#ifndef EPAN_PLUGIN_IF_H
18#define EPAN_PLUGIN_IF_H
20#include "ws_symbol_export.h"
21#include "ws_attributes.h"
36} ext_menubar_gui_type;
39typedef void (*ext_menubar_action_cb)(ext_menubar_gui_type gui_type,
void *gui_object,
void *user_data);
45 EXT_MENUBAR_SEPARATOR,
54 ext_menubar_entry_t type;
68 ext_menubar_action_cb callback;
73typedef void (*ext_toolbar_action_cb)(
void *toolbar_item,
void *item_data,
void *user_data);
100 ext_toolbar_entry_t type;
103 unsigned submenu_cnt;
113 ext_toolbar_item_t item_type;
118 ext_toolbar_action_cb callback;
124 EXT_TOOLBAR_UPDATE_VALUE,
125 EXT_TOOLBAR_UPDATE_DATA,
126 EXT_TOOLBAR_UPDATE_DATABYINDEX,
127 EXT_TOOLBAR_UPDATE_DATA_ADD,
128 EXT_TOOLBAR_UPDATE_DATA_REMOVE,
129 EXT_TOOLBAR_SET_ACTIVE
130} ext_toolbar_update_type_t;
134 ext_toolbar_update_type_t type;
149WS_DLL_PUBLIC
ext_menu_t * ext_menubar_register_menu(
150 int proto_id,
const char * menulabel,
bool is_plugin);
161WS_DLL_PUBLIC
ext_menu_t * ext_menubar_set_parentmenu(
171WS_DLL_PUBLIC
ext_menu_t * ext_menubar_add_submenu(
185WS_DLL_PUBLIC
void ext_menubar_add_entry(
189 ext_menubar_action_cb callback,
199WS_DLL_PUBLIC
void ext_menubar_add_separator(
ext_menu_t *parent_menu);
211WS_DLL_PUBLIC
void ext_menubar_add_website(
ext_menu_t * parent,
const char *label,
212 const char *tooltip,
const char *url);
220WS_DLL_PUBLIC
ext_toolbar_t * ext_toolbar_register_toolbar(
const char * toolbar_label);
228WS_DLL_PUBLIC
void ext_toolbar_unregister_toolbar(
ext_toolbar_t * toolbar);
236WS_DLL_PUBLIC
void ext_toolbar_unregister_toolbar_by_name(
const char * toolbar_name);
267 ext_toolbar_item_t type,
269 const char *defvalue,
274 const char * valid_regex,
275 ext_toolbar_action_cb callback,
287WS_DLL_PUBLIC GList *
ext_toolbar_add_val(GList * entries,
char * value,
char * display,
bool is_default);
309WS_DLL_PUBLIC
void ext_toolbar_update_value(
ext_toolbar_t * entry,
void *data,
bool silent);
319WS_DLL_PUBLIC
void ext_toolbar_update_data(
ext_toolbar_t * entry,
void *data,
bool silent);
331WS_DLL_PUBLIC
void ext_toolbar_update_data_by_index(
ext_toolbar_t * entry,
void *data,
void *idx,
bool silent);
343WS_DLL_PUBLIC
void ext_toolbar_update_data_add_entry(
ext_toolbar_t * entry,
void *data,
void *idx,
bool silent);
356WS_DLL_PUBLIC
void ext_toolbar_update_data_remove_entry(
ext_toolbar_t * entry,
void *data,
void *idx,
bool silent);
362WS_DLL_PUBLIC
void ext_toolbar_update_data_set_active(
ext_toolbar_t * entry,
bool status);
370 bool ws_info_supported;
385 PLUGIN_IF_FILTER_ACTION_APPLY,
388 PLUGIN_IF_FILTER_ACTION_PREPARE,
391 PLUGIN_IF_PREFERENCE_SAVE,
394 PLUGIN_IF_GOTO_FRAME,
397 PLUGIN_IF_GET_WS_INFO,
400 PLUGIN_IF_GET_FRAME_DATA,
403 PLUGIN_IF_GET_CAPTURE_FILE,
406 PLUGIN_IF_REMOVE_TOOLBAR
408} plugin_if_callback_t;
456typedef void* (*plugin_if_frame_data_cb)(frame_data*,
void*);
466typedef void* (*plugin_if_capture_file_cb)(
capture_file*,
void*);
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.
Definition plugin_if.c:376
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.
Definition plugin_if.c:415
WS_DLL_PUBLIC void plugin_if_get_ws_info(ws_info_t **ws_info)
Takes a snapshot of status information from Wireshark.
Definition plugin_if.c:554
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.
Definition plugin_if.c:621
WS_DLL_PUBLIC void plugin_if_apply_filter(const char *filter_string, bool force)
Applies the given filter string as display filter.
Definition plugin_if.c:509
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.
Definition plugin_if.c:540
WS_DLL_PUBLIC GList * ext_toolbar_get_entries(void)
Private Method for retrieving the toolbar entries.
Definition plugin_if.c:193
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.
Definition plugin_if.c:604
WS_DLL_PUBLIC GList * ext_menubar_get_entries(void)
Private Method for retrieving the menubar entries.
Definition plugin_if.c:53
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.
Definition plugin_if.c:587
WS_DLL_PUBLIC void plugin_if_goto_frame(uint32_t framenr)
Jumps to the given frame number.
Definition plugin_if.c:526
void(* plugin_if_gui_cb)(GHashTable *data_set)
Callback function type for GUI-related actions.
Definition plugin_if.h:418
Definition plugin_if.h:369
bool frame_passed_dfilter
Definition plugin_if.h:375
uint32_t cf_framenr
Definition plugin_if.h:374
Definition prefs-int.h:24
#define ws_info(...)
Log an "info" level entry without source context.
Definition wslog.h:603