| IDA SDK

Public Attributes | Public Member Functions | Classes | List of all members
merge_data_t Class Reference

## Detailed Description

class to contain public info about the merge process

## Public Attributes
class merge_mappers_t & | mappers
int | dbctx_ids [3] = { -1, -1, -1 }
| local, remote, base ids
int | nbases = 0
| number of database participating in merge process, maybe 2 or 3
merge_handlers_t | ev_handlers
| event handlers
item_block_locator_t * | item_block_locator = nullptr
merge_handler_t * | last_udt_related_merger = nullptr

## Public Member Functions
| merge_data_t (const merge_data_t &)=delete
void | operator= (const merge_data_t &)=delete
void | set_dbctx_ids (int local, int remote, int base)
int | local_id () const
int | remote_id () const
int | base_id () const
void | add_event_handler (merge_handler_t *handler)
void | remove_event_handler (merge_handler_t *handler)
ea_t | get_block_head (diff_source_idx_t idx, ea_t item_head)
bool | setup_blocks (diff_source_idx_t dst_idx, diff_source_idx_t src_idx, const diff_range_t &region)
virtual bool | has_existing_node (const char *nodename) const
| check that node exists in any of databases
virtual bool | map_privrange_id (tid_t *tid, ea_t ea, diff_source_idx_t from, diff_source_idx_t to, bool strict=true)
| map IDs of structures, enumerations and their members More...
virtual bool | map_tinfo (tinfo_t *tif, diff_source_idx_t from, diff_source_idx_t to, bool strict=true)
| migrate type, replaces type references into FROM database to references into TO database More...
virtual int | compare_merging_tifs (const tinfo_t &tif1, diff_source_idx_t diffidx1, const tinfo_t &tif2, diff_source_idx_t diffidx2) const
| compare types from two databases More...

## Classes
struct | item_block_locator_t
| several items can be grouped into a block. More...

## Member Function Documentation

## ◆ map_privrange_id()

virtual bool merge_data_t::map_privrange_id | ( | tid_t * | tid,
|  | ea_t | ea,
|  | diff_source_idx_t | from,
|  | diff_source_idx_t | to,
|  | bool | strict = `true`
| ) |  |
| virtual

map IDs of structures, enumerations and their members

Parameters

  [out] | tid | item ID in TO database
  | ea | item ID to find counterpart
  | from | source database index, diff_source_idx_t
  | to | destination database index, diff_source_idx_t
  | strict | raise interr if could not map

Returns
  success

## ◆ map_tinfo()

virtual bool merge_data_t::map_tinfo | ( | tinfo_t * | tif,
|  | diff_source_idx_t | from,
|  | diff_source_idx_t | to,
|  | bool | strict = `true`
| ) |  |
| virtual

migrate type, replaces type references into FROM database to references into TO database

Parameters

  [in,out] | tif | type to migrate, will be cleared in case of fail
  | from | source database index, diff_source_idx_t
  | to | destination database index, diff_source_idx_t
  | strict | raise interr if could not map

Returns
  success

## ◆ compare_merging_tifs()

virtual int merge_data_t::compare_merging_tifs | ( | const tinfo_t & | tif1,
|  | diff_source_idx_t | diffidx1,
|  | const tinfo_t & | tif2,
|  | diff_source_idx_t | diffidx2
| ) |  | const
| virtual

compare types from two databases

Parameters

  tif1 | type
  diffidx1 | database index, diff_source_idx_t
  tif2 | type
  diffidx2 | database index, diff_source_idx_t

Returns
  -1, 0, 1

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

- merge.hpp