| 
    IDA SDK
    
   | 
 
Describes the mechanism used to retrieve source file information.
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  | |
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... | |
      
  | 
  pure virtual | 
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 IDPOPT_T | 
| 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.
      
  | 
  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.
      
  | 
  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 | 
Locate a global variable by its name.
| name | The variable name | 
| ea | The current address |