IDA C++ SDK 9.2
Loading...
Searching...
No Matches
merge_node_helper_t Struct Reference

abstract adapter to provide access to non-standard netnode array entries More...

#include <merge.hpp>

Public Member Functions

virtual ~merge_node_helper_t ()
virtual qstring print_entry_name (uchar, nodeidx_t, void *) const
 print the name of the specified entry (to be used in print_diffpos_name)
virtual void print_entry_details (qstrvec_t *, uchar, nodeidx_t, void *) const
 print the details of the specified entry usually contains multiple lines, one for each attribute or detail.
virtual void get_column_headers (qstrvec_t *, uchar, void *) const
 get column headers for chooser (to be used in linear_diff_source_t::get_column_headers)
virtual bool is_mergeable (uchar, nodeidx_t) const
 filter: check if we should perform merging for given record
virtual netnode get_netnode () const
 return netnode to be used as source.
virtual void map_scalar (nodeidx_t *, void *, diff_source_idx_t, diff_source_idx_t) const
 map scalar/string/buffered value
virtual void map_string (qstring *, void *, diff_source_idx_t, diff_source_idx_t) const
virtual void map_value (bytevec_t *, void *, diff_source_idx_t, diff_source_idx_t) const
virtual void refresh (uchar, void *)
 notify helper that some data was changed in the database and internal structures (e.g.
virtual const char * get_logname () const
 return name of netnode to be used in logging.

Static Public Member Functions

static void append_eavec (qstring *s, const char *prefix, const eavec_t &eas)
 can be used by derived classes

Detailed Description

abstract adapter to provide access to non-standard netnode array entries

Constructor & Destructor Documentation

◆ ~merge_node_helper_t()

virtual merge_node_helper_t::~merge_node_helper_t ( )
inlinevirtual

Member Function Documentation

◆ print_entry_name()

virtual qstring merge_node_helper_t::print_entry_name ( uchar ,
nodeidx_t ,
void *  ) const
inlinevirtual

print the name of the specified entry (to be used in print_diffpos_name)

◆ print_entry_details()

virtual void merge_node_helper_t::print_entry_details ( qstrvec_t * ,
uchar ,
nodeidx_t ,
void *  ) const
inlinevirtual

print the details of the specified entry usually contains multiple lines, one for each attribute or detail.

(to be used in print_diffpos_details)

◆ get_column_headers()

virtual void merge_node_helper_t::get_column_headers ( qstrvec_t * ,
uchar ,
void *  ) const
inlinevirtual

get column headers for chooser (to be used in linear_diff_source_t::get_column_headers)

◆ is_mergeable()

virtual bool merge_node_helper_t::is_mergeable ( uchar ,
nodeidx_t  ) const
inlinevirtual

filter: check if we should perform merging for given record

◆ get_netnode()

virtual netnode merge_node_helper_t::get_netnode ( ) const
inlinevirtual

return netnode to be used as source.

If this function returns BADNODE netnode will be created using netnode name passed to create_nodeval_diff_source

◆ map_scalar()

virtual void merge_node_helper_t::map_scalar ( nodeidx_t * ,
void * ,
diff_source_idx_t ,
diff_source_idx_t  ) const
inlinevirtual

map scalar/string/buffered value

◆ map_string()

virtual void merge_node_helper_t::map_string ( qstring * ,
void * ,
diff_source_idx_t ,
diff_source_idx_t  ) const
inlinevirtual

◆ map_value()

virtual void merge_node_helper_t::map_value ( bytevec_t * ,
void * ,
diff_source_idx_t ,
diff_source_idx_t  ) const
inlinevirtual

◆ refresh()

virtual void merge_node_helper_t::refresh ( uchar ,
void *  )
inlinevirtual

notify helper that some data was changed in the database and internal structures (e.g.

caches) should be refreshed

◆ get_logname()

virtual const char * merge_node_helper_t::get_logname ( ) const
inlinevirtual

return name of netnode to be used in logging.

If this function returns nullptr netnode name and tag passed to create_nodeval_diff_source will be used

◆ append_eavec()

void merge_node_helper_t::append_eavec ( qstring * s,
const char * prefix,
const eavec_t & eas )
inlinestatic

can be used by derived classes


The documentation for this struct was generated from the following file: