From 17a67c3b5cb80619ab7e1260a05a28e888cee09e Mon Sep 17 00:00:00 2001 From: Gerald Combs Date: Tue, 10 Dec 2013 19:23:26 +0000 Subject: Get the "Decode As" dialog working, albeit with a few warts. It differs from the GTK flavor in two major ways: - The "Decode As" and "User Specified Decodes" dialog have been unified. - You can modify the decode as behavior at any time, not just when you have a packet selected. Revert part of 53498 so that we can move items marked /*** THE FOLLOWING SHOULD NOT BE USED BY ANY DISSECTORS!!! ***/ from epan/decode_as.h to ui/decode_as_utils.h. Move "save" code from decode_as_dlg.c to decode_as_utils.c as well. In packet-dcerpc.c don't register a table named "ethertype". We might want to add checks for duplicate table names. To do: - Add support for ranges? - Either add support for DCERPC or make DCERPC use a regular dissector table. - Fix string selectors (i.e. BER). svn path=/trunk/; revision=53910 --- epan/decode_as.h | 39 +++------------------------------------ 1 file changed, 3 insertions(+), 36 deletions(-) (limited to 'epan/decode_as.h') diff --git a/epan/decode_as.h b/epan/decode_as.h index c28d7d60fd..248cdf23bf 100644 --- a/epan/decode_as.h +++ b/epan/decode_as.h @@ -94,43 +94,10 @@ WS_DLL_PUBLIC gboolean decode_as_default_reset(const char *name, const gpointer /* Add a FT_UINT32 value to dissector table list */ WS_DLL_PUBLIC gboolean decode_as_default_change(const char *name, const gpointer pattern, gpointer handle, gchar* list_name); -/*** THE FOLLOWING SHOULD NOT BE USED BY ANY DISSECTORS!!! ***/ - -WS_DLL_PUBLIC GList *decode_as_list; - -/** Reset the "decode as" entries and reload ones of the current profile. - */ -WS_DLL_PUBLIC void load_decode_as_entries(void); - -/* - * This routine creates one entry in the list of protocol dissector - * that need to be reset. It is called by the g_hash_table_foreach - * routine once for each changed entry in a dissector table. - * Unfortunately it cannot delete the entry immediately as this screws - * up the foreach function, so it builds a list of dissectors to be - * reset once the foreach routine finishes. - * - * @param table_name The table name in which this dissector is found. - * - * @param key A pointer to the key for this entry in the dissector - * hash table. This is generally the numeric selector of the - * protocol, i.e. the ethernet type code, IP port number, TCP port - * number, etc. - * - * @param value A pointer to the value for this entry in the dissector - * hash table. This is an opaque pointer that can only be handed back - * to routine in the file packet.c - but it's unused. - * - * @param user_data Unused. +/** List of registered decode_as_t structs. + * For UI code only. Should not be directly accessed by dissectors. */ -WS_DLL_PUBLIC void decode_build_reset_list (const gchar *table_name, ftenum_t selector_type, - gpointer key, gpointer value _U_, - gpointer user_data _U_); - -/** Clear all "decode as" settings - */ -WS_DLL_PUBLIC void decode_clear_all(void); - +WS_DLL_PUBLIC GList *decode_as_list; #ifdef __cplusplus } -- cgit v1.2.3