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,
278WS_DLL_PUBLIC GList * ext_toolbar_add_val(GList * entries,
char * value,
char * display,
bool is_default);
280WS_DLL_PUBLIC
void ext_toolbar_register_update_cb(
ext_toolbar_t * entry, ext_toolbar_action_cb callback,
void *item_data);
291WS_DLL_PUBLIC
void ext_toolbar_update_value(
ext_toolbar_t * entry,
void *data,
bool silent);
301WS_DLL_PUBLIC
void ext_toolbar_update_data(
ext_toolbar_t * entry,
void *data,
bool silent);
313WS_DLL_PUBLIC
void ext_toolbar_update_data_by_index(
ext_toolbar_t * entry,
void *data,
void *idx,
bool silent);
325WS_DLL_PUBLIC
void ext_toolbar_update_data_add_entry(
ext_toolbar_t * entry,
void *data,
void *idx,
bool silent);
338WS_DLL_PUBLIC
void ext_toolbar_update_data_remove_entry(
ext_toolbar_t * entry,
void *data,
void *idx,
bool silent);
344WS_DLL_PUBLIC
void ext_toolbar_update_data_set_active(
ext_toolbar_t * entry,
bool status);
352 bool ws_info_supported;
367 PLUGIN_IF_FILTER_ACTION_APPLY,
370 PLUGIN_IF_FILTER_ACTION_PREPARE,
373 PLUGIN_IF_PREFERENCE_SAVE,
376 PLUGIN_IF_GOTO_FRAME,
379 PLUGIN_IF_GET_WS_INFO,
382 PLUGIN_IF_GET_FRAME_DATA,
385 PLUGIN_IF_GET_CAPTURE_FILE,
388 PLUGIN_IF_REMOVE_TOOLBAR
390} plugin_if_callback_t;
393typedef void (*plugin_if_gui_cb)(GHashTable * data_set);
395WS_DLL_PUBLIC
void plugin_if_register_gui_cb(plugin_if_callback_t actionType, plugin_if_gui_cb callback);
398WS_DLL_PUBLIC
void plugin_if_apply_filter(
const char * filter_string,
bool force);
401WS_DLL_PUBLIC
void plugin_if_save_preference(
const char *
pref_module,
const char * pref_key,
const char * pref_value);
404WS_DLL_PUBLIC
void plugin_if_goto_frame(uint32_t framenr);
409typedef void* (*plugin_if_frame_data_cb)(frame_data*,
void*);
411WS_DLL_PUBLIC
void* plugin_if_get_frame_data(plugin_if_frame_data_cb extract_cb,
void *user_data);
413typedef void* (*plugin_if_capture_file_cb)(
capture_file*,
void*);
415WS_DLL_PUBLIC
void* plugin_if_get_capture_file(plugin_if_capture_file_cb extract_cb,
void* user_data);
421WS_DLL_PUBLIC GList * ext_menubar_get_entries(
void);
427WS_DLL_PUBLIC GList * ext_toolbar_get_entries(
void);
Definition plugin_if.h:351
bool frame_passed_dfilter
Definition plugin_if.h:357
uint32_t cf_framenr
Definition plugin_if.h:356
Definition prefs-int.h:27
#define ws_info(...)
Definition wslog.h:402