IDA C++ SDK 9.2
|
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. | |
virtual const char *idaapi | set_options (const char *keyword, int value_type, const void *value)=0 |
Configure srcinfo provider. | |
virtual void idaapi | add_module (const char *path, ea_t base, asize_t size)=0 |
Inform the provider that a module got loaded. | |
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. | |
virtual int idaapi | get_change_flags (void)=0 |
Ask the provider if the source information has changed and the screen should be refreshed. | |
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. | |
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. | |
virtual source_file_iterator idaapi | create_file_iterator (const char *filename=nullptr)=0 |
Create iterators to enumerate files. | |
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. |
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 |
Describes the mechanism used to retrieve source file information.
|
inline |
Is the source info provider a decompiler?
Has the provider been enabled by the user?
Is the provider willing to work with the current idb?
|
inline |
See #SPF_VERSION_MASK.
Enable or disable the provider.
If the provider fails to initialize, it returns false, otherwise true
|
pure virtual |
Configure srcinfo provider.
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 Option value types |
value | pointer to value |
|
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.
Inform the provider that a module got unloaded.
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.
|
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.
|
pure virtual |
Locate source item by address.
The kernel will inquire all registered providers and use the best reply.
ea | linear address |
size | size of the item |
level | the desired item level:
|
may_decompile | meaningful only for the decompiler. if set to false and the function at 'ea' has not been decompiled yet, fail. |
|
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)
|
pure virtual |
Create iterators to enumerate files.
filename | name of the source file to enumerate |
|
pure virtual |
Create iterators to enumerate items.
|
inlinevirtual |
Apply the debug information (types, functions, globals) from the module whose path is 'path', to the IDB.
|
pure virtual |
Locate a global variable by its name.
name | The variable name |
ea | The current address |
size_t srcinfo_provider_t::cb |
size of this class
int srcinfo_provider_t::flags |
const char* srcinfo_provider_t::name |
internal (unique) name of srcinfo provider
const char* srcinfo_provider_t::display_name |
external (displayable) name of srcinfo provider