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;
150WS_DLL_PUBLIC
ext_menu_t * ext_menubar_register_menu(
151 int proto_id,
const char * menulabel,
bool is_plugin);
162WS_DLL_PUBLIC
ext_menu_t * ext_menubar_set_parentmenu(
173WS_DLL_PUBLIC
ext_menu_t * ext_menubar_add_submenu(
187WS_DLL_PUBLIC
void ext_menubar_add_entry(
191 ext_menubar_action_cb callback,
201WS_DLL_PUBLIC
void ext_menubar_add_separator(
ext_menu_t *parent_menu);
214WS_DLL_PUBLIC
void ext_menubar_add_website(
ext_menu_t * parent,
const char *label,
215 const char *tooltip,
const char *url);
223WS_DLL_PUBLIC
ext_toolbar_t * ext_toolbar_register_toolbar(
const char * toolbar_label);
231WS_DLL_PUBLIC
void ext_toolbar_unregister_toolbar(
ext_toolbar_t * toolbar);
239WS_DLL_PUBLIC
void ext_toolbar_unregister_toolbar_by_name(
const char * toolbar_name);
269 ext_toolbar_item_t type,
271 const char *defvalue,
276 const char * valid_regex,
277 ext_toolbar_action_cb callback,
280WS_DLL_PUBLIC GList * ext_toolbar_add_val(GList * entries,
char * value,
char * display,
bool is_default);
282WS_DLL_PUBLIC
void ext_toolbar_register_update_cb(
ext_toolbar_t * entry, ext_toolbar_action_cb callback,
void *item_data);
293WS_DLL_PUBLIC
void ext_toolbar_update_value(
ext_toolbar_t * entry,
void *data,
bool silent);
303WS_DLL_PUBLIC
void ext_toolbar_update_data(
ext_toolbar_t * entry,
void *data,
bool silent);
315WS_DLL_PUBLIC
void ext_toolbar_update_data_by_index(
ext_toolbar_t * entry,
void *data,
void *idx,
bool silent);
327WS_DLL_PUBLIC
void ext_toolbar_update_data_add_entry(
ext_toolbar_t * entry,
void *data,
void *idx,
bool silent);
340WS_DLL_PUBLIC
void ext_toolbar_update_data_remove_entry(
ext_toolbar_t * entry,
void *data,
void *idx,
bool silent);
346WS_DLL_PUBLIC
void ext_toolbar_update_data_set_active(
ext_toolbar_t * entry,
bool status);
354 bool ws_info_supported;
369 PLUGIN_IF_FILTER_ACTION_APPLY,
372 PLUGIN_IF_FILTER_ACTION_PREPARE,
375 PLUGIN_IF_PREFERENCE_SAVE,
378 PLUGIN_IF_GOTO_FRAME,
381 PLUGIN_IF_GET_WS_INFO,
384 PLUGIN_IF_GET_FRAME_DATA,
387 PLUGIN_IF_GET_CAPTURE_FILE,
390 PLUGIN_IF_REMOVE_TOOLBAR
392} plugin_if_callback_t;
395typedef void (*plugin_if_gui_cb)(GHashTable * data_set);
397WS_DLL_PUBLIC
void plugin_if_register_gui_cb(plugin_if_callback_t actionType, plugin_if_gui_cb callback);
400WS_DLL_PUBLIC
void plugin_if_apply_filter(
const char * filter_string,
bool force);
403WS_DLL_PUBLIC
void plugin_if_save_preference(
const char *
pref_module,
const char * pref_key,
const char * pref_value);
406WS_DLL_PUBLIC
void plugin_if_goto_frame(uint32_t framenr);
411typedef void* (*plugin_if_frame_data_cb)(frame_data*,
void*);
413WS_DLL_PUBLIC
void* plugin_if_get_frame_data(plugin_if_frame_data_cb extract_cb,
void *user_data);
415typedef void* (*plugin_if_capture_file_cb)(
capture_file*,
void*);
417WS_DLL_PUBLIC
void* plugin_if_get_capture_file(plugin_if_capture_file_cb extract_cb,
void* user_data);
423WS_DLL_PUBLIC GList * ext_menubar_get_entries(
void);
429WS_DLL_PUBLIC GList * ext_toolbar_get_entries(
void);
Definition plugin_if.h:353
bool frame_passed_dfilter
Definition plugin_if.h:359
uint32_t cf_framenr
Definition plugin_if.h:358
Definition prefs-int.h:27
#define ws_info(...)
Definition wslog.h:403