17#ifndef EPAN_PLUGIN_IF_H
18#define EPAN_PLUGIN_IF_H
20#include "ws_symbol_export.h"
21#include "ws_attributes.h"
32#define EXT_MENUBAR_MAX_DEPTH 5
38} ext_menubar_gui_type;
41typedef void (*ext_menubar_action_cb)(ext_menubar_gui_type gui_type,
void *gui_object,
void *user_data);
47 EXT_MENUBAR_SEPARATOR,
56 ext_menubar_entry_t type;
70 ext_menubar_action_cb callback;
75typedef void (*ext_toolbar_action_cb)(
void *toolbar_item,
void *item_data,
void *user_data);
102 ext_toolbar_entry_t type;
105 unsigned submenu_cnt;
115 ext_toolbar_item_t item_type;
120 ext_toolbar_action_cb callback;
126 EXT_TOOLBAR_UPDATE_VALUE,
127 EXT_TOOLBAR_UPDATE_DATA,
128 EXT_TOOLBAR_UPDATE_DATABYINDEX,
129 EXT_TOOLBAR_UPDATE_DATA_ADD,
130 EXT_TOOLBAR_UPDATE_DATA_REMOVE,
131 EXT_TOOLBAR_SET_ACTIVE
132} ext_toolbar_update_type_t;
136 ext_toolbar_update_type_t type;
152WS_DLL_PUBLIC
ext_menu_t * ext_menubar_register_menu(
153 int proto_id,
const char * menulabel,
bool is_plugin);
164WS_DLL_PUBLIC
ext_menu_t * ext_menubar_set_parentmenu(
175WS_DLL_PUBLIC
ext_menu_t * ext_menubar_add_submenu(
189WS_DLL_PUBLIC
void ext_menubar_add_entry(
193 ext_menubar_action_cb callback,
203WS_DLL_PUBLIC
void ext_menubar_add_separator(
ext_menu_t *parent_menu);
216WS_DLL_PUBLIC
void ext_menubar_add_website(
ext_menu_t * parent,
const char *label,
217 const char *tooltip,
const char *url);
225WS_DLL_PUBLIC
ext_toolbar_t * ext_toolbar_register_toolbar(
const char * toolbar_label);
233WS_DLL_PUBLIC
void ext_toolbar_unregister_toolbar(
ext_toolbar_t * toolbar);
241WS_DLL_PUBLIC
void ext_toolbar_unregister_toolbar_by_name(
const char * toolbar_name);
271 ext_toolbar_item_t type,
273 const char *defvalue,
278 const char * valid_regex,
279 ext_toolbar_action_cb callback,
282WS_DLL_PUBLIC GList * ext_toolbar_add_val(GList * entries,
char * value,
char * display,
bool is_default);
284WS_DLL_PUBLIC
void ext_toolbar_register_update_cb(
ext_toolbar_t * entry, ext_toolbar_action_cb callback,
void *item_data);
295WS_DLL_PUBLIC
void ext_toolbar_update_value(
ext_toolbar_t * entry,
void *data,
bool silent);
305WS_DLL_PUBLIC
void ext_toolbar_update_data(
ext_toolbar_t * entry,
void *data,
bool silent);
317WS_DLL_PUBLIC
void ext_toolbar_update_data_by_index(
ext_toolbar_t * entry,
void *data,
void *idx,
bool silent);
329WS_DLL_PUBLIC
void ext_toolbar_update_data_add_entry(
ext_toolbar_t * entry,
void *data,
void *idx,
bool silent);
342WS_DLL_PUBLIC
void ext_toolbar_update_data_remove_entry(
ext_toolbar_t * entry,
void *data,
void *idx,
bool silent);
348WS_DLL_PUBLIC
void ext_toolbar_update_data_set_active(
ext_toolbar_t * entry,
bool status);
356 bool ws_info_supported;
371 PLUGIN_IF_FILTER_ACTION_APPLY,
374 PLUGIN_IF_FILTER_ACTION_PREPARE,
377 PLUGIN_IF_PREFERENCE_SAVE,
380 PLUGIN_IF_GOTO_FRAME,
383 PLUGIN_IF_GET_WS_INFO,
386 PLUGIN_IF_GET_FRAME_DATA,
389 PLUGIN_IF_GET_CAPTURE_FILE,
392 PLUGIN_IF_REMOVE_TOOLBAR
394} plugin_if_callback_t;
397typedef void (*plugin_if_gui_cb)(GHashTable * data_set);
399WS_DLL_PUBLIC
void plugin_if_register_gui_cb(plugin_if_callback_t actionType, plugin_if_gui_cb callback);
402WS_DLL_PUBLIC
void plugin_if_apply_filter(
const char * filter_string,
bool force);
405WS_DLL_PUBLIC
void plugin_if_save_preference(
const char *
pref_module,
const char * pref_key,
const char * pref_value);
408WS_DLL_PUBLIC
void plugin_if_goto_frame(uint32_t framenr);
413typedef void* (*plugin_if_frame_data_cb)(frame_data*,
void*);
415WS_DLL_PUBLIC
void* plugin_if_get_frame_data(plugin_if_frame_data_cb extract_cb,
void *user_data);
417typedef void* (*plugin_if_capture_file_cb)(
capture_file*,
void*);
419WS_DLL_PUBLIC
void* plugin_if_get_capture_file(plugin_if_capture_file_cb extract_cb,
void* user_data);
425WS_DLL_PUBLIC GList * ext_menubar_get_entries(
void);
431WS_DLL_PUBLIC GList * ext_toolbar_get_entries(
void);
Definition plugin_if.h:355
bool frame_passed_dfilter
Definition plugin_if.h:361
uint32_t cf_framenr
Definition plugin_if.h:360
Definition prefs-int.h:27
#define ws_info(...)
Definition wslog.h:371