We have a custom CORBA dissector, the source code of which is generated
from our IDL using omniorb
c:\Python27\omniorb\omniORB-4.1.6\bin\x86_win32\omniidl -p
c:\wireshark-1.10.3\tools -b wireshark_be q_quentin.idl > packet-quentin.c
I am in the process of building this for wireshark 1.10.3. The last
version it was built for was 1.6.5, so it's been a while.
Some of the CORBA return values are INTs, but have a "special" meaning.
Previously I added my own function to convert these INTs to a string and
made a simple change to the decode function. e.g.
s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
if (tree) {
proto_tree_add_text(tree,tvb,*offset-4,4,"CombinedTrackSegment_portTimecode
= %s",timecodeString(s_octet4));
}
Where timecodeString is my function.
Looking at the source code generated for 1.10.3 and everything has
changed. It says something like
proto_tree_add_int(tree,
hf_QuentinTimeline_CombinedTrackSegment_portTimecode, tvb, *offset-4, 4,
get_CDR_long(tvb,offset,stream_is_big_endian, boundary));
Adding my custom decoder isn't so straight forward. So the question. What
is the best way of providing a custom function for some of the return
results?
Thanks for any help
Andy Ling