Describes the mechanism used to retrieve source file information. More...
#include <dbg.hpp>
Public Member Functions | |
srcinfo_provider_t (const char *_name, const char *_display_name, int _flags=0) | |
bool | is_decompiler (void) const |
Is the source info provider a decompiler? | |
bool | is_enabled (void) const |
Has the provider been enabled by the user? | |
bool | is_active (void) const |
Is the provider willing to work with the current idb? | |
uint8 | get_version () const |
See SPF_VERSION_MASK. | |
virtual bool idaapi | enable_provider (bool enable)=0 |
Enable or disable the provider. More... | |
virtual const char *idaapi | set_options (const char *keyword, int value_type, const void *value)=0 |
Configure srcinfo provider. More... | |
virtual void idaapi | add_module (const char *path, ea_t base, asize_t size)=0 |
Inform the provider that a module got loaded. More... | |
virtual void idaapi | del_module (ea_t base)=0 |
Inform the provider that a module got unloaded. | |
virtual void idaapi | get_ready (void)=0 |
Inform the provider that we will request for information now. More... | |
virtual int idaapi | get_change_flags (void)=0 |
Ask the provider if the source information has changed and the screen should be refreshed. More... | |
virtual source_item_iterator idaapi | find_source_items (ea_t ea, asize_t size, src_item_kind_t level, bool may_decompile)=0 |
Locate source item by address. More... | |
virtual source_item_iterator idaapi | find_source_items (source_file_t *sf, int lnnum, int colnum=0)=0 |
Locate source item by a position in a source file. More... | |
virtual source_file_iterator idaapi | create_file_iterator (const char *filename=nullptr)=0 |
Create iterators to enumerate files. More... | |
virtual source_item_iterator idaapi | create_item_iterator (const source_file_t *sf)=0 |
Create iterators to enumerate items. | |
virtual bool idaapi | apply_module_info (const char *) |
Apply the debug information (types, functions, globals) from the module whose path is 'path', to the IDB. | |
virtual source_item_ptr idaapi | find_static_item (const char *name, ea_t ea)=0 |
Locate a global variable by its name. More... | |
Public Attributes | |
size_t | cb |
size of this class | |
int | flags |
Source info provider property bits | |
const char * | name |
internal (unique) name of srcinfo provider | |
const char * | display_name |
external (displayable) name of srcinfo provider | |
Detailed Description
Describes the mechanism used to retrieve source file information.
Member Function Documentation
◆ enable_provider()
|
pure virtual |
Enable or disable the provider.
If the provider fails to initialize, it returns false, otherwise true
◆ set_options()
|
pure virtual |
Configure srcinfo provider.
- Parameters
-
keyword keyword encountered in IDA.CFG/user config file. if nullptr, then an interactive dialog form should be displayed value_type type of value of the keyword - one of IDPOPT_T value pointer to value
- Returns
- one of IDPOPT_RET, otherwise a pointer to an error message
◆ add_module()
|
pure virtual |
Inform the provider that a module got loaded.
The provider is not required to read the module information immediately; it may postpone it until really required.
◆ get_ready()
|
pure virtual |
Inform the provider that we will request for information now.
This function must be called before calling all functions below. probably it will be called when the process gets suspended.
◆ get_change_flags()
|
pure virtual |
Ask the provider if the source information has changed and the screen should be refreshed.
UI will call this function periodically (when idle). if it returns a flag value other than SPCH_NONE, then the source information must be refreshed.
◆ find_source_items() [1/2]
|
pure virtual |
Locate source item by address.
The kernel will inquire all registered providers and use the best reply.
- Parameters
-
ea linear address size size of the item level the desired item level: - SRCIT_STMT: a statement
- SRCIT_EXPR: an expression
- SRCIT_FUNC: a global code item
- SRCIT_xxxVAR: a global data item (the exact type is not checked)
may_decompile meaningful only for the decompiler. if set to false and the function at 'ea' has not been decompiled yet, fail.
◆ find_source_items() [2/2]
|
pure virtual |
Locate source item by a position in a source file.
if colnum == 0, return the statement that starts at the specified line. if lnnum == 0, return information about all lines (colnum is ignored in this case)
◆ create_file_iterator()
|
pure virtual |
Create iterators to enumerate files.
- Parameters
-
filename name of the source file to enumerate
◆ find_static_item()
|
pure virtual |
Locate a global variable by its name.
- Parameters
-
name The variable name ea The current address
- Returns
- the source item, or nullptr
The documentation for this class was generated from the following file:
Generated by 1.9.3