IDAPython 8.4
Loading...
Searching...
No Matches
place_t Class Reference

Proxy of C++ place_t class.

Inheritance diagram for place_t:
enumplace_t idaplace_t simpleline_place_t structplace_t tiplace_t

Public Member Functions

 __init__ (self, *args, **kwargs)
 
"uval_t" touval (self, *args)
 touval(self, ud) -> uval_t Map the location to a number.
 
"place_t *" clone (self, *args)
 clone(self) -> place_t Clone the location.
 
"void" copyfrom (self, *args)
 copyfrom(self, _from) Copy the specified location object to the current object.
 
"place_t *" makeplace (self, *args)
 makeplace(self, ud, x, lnnum) -> place_t Map a number to a location.
 
"int" compare (self, *args)
 compare(self, t2) -> int Deprecated.
 
"void" adjust (self, *args)
 adjust(self, ud) Adjust the current location to point to a displayable object.
 
"bool" prev (self, *args)
 prev(self, ud) -> bool Move to the previous displayable location.
 
"bool" next (self, *args)
 next(self, ud) -> bool Move to the next displayable location.
 
"bool" beginning (self, *args)
 beginning(self, ud) -> bool Are we at the first displayable object?.
 
"bool" ending (self, *args)
 ending(self, ud) -> bool Are we at the last displayable object?.
 
"void" serialize (self, *args)
 serialize(self) Serialize this instance.
 
"int" id (self, *args)
 id(self) -> int Get the place's ID (i.e., the value returned by register_place_class())
 
"char const *" name (self, *args)
 name(self) -> char const * Get this place type name.
 
"ea_t" toea (self, *args)
 toea(self) -> ea_t Map the location to an ea_t.
 
"bool" rebase (self, *args)
 rebase(self, arg2) -> bool Rebase the place instance
 
"place_t *" enter (self, *args)
 enter(self, arg2) -> place_t Visit this place, possibly 'unhiding' a section of text.
 
"void" leave (self, *args)
 leave(self, arg2) Leave this place, possibly 'hiding' a section of text that was previously expanded (at enter()-time.)
 
"int" compare2 (self, *args)
 compare2(self, t2, arg3) -> int Compare two locations except line numbers (lnnum).
 
"bool" deserialize (self, *args)
 deserialize(self, _in) -> bool De-serialize into this instance.
 
"PyObject *" generate (self, *args)
 generate(self, ud, maxsize) -> ([str, ...], int, int, int) Generate text lines for the current location.
 

Static Public Member Functions

"idaplace_t *" as_idaplace_t (*args)
 as_idaplace_t(p) -> idaplace_t
 
"enumplace_t *" as_enumplace_t (*args)
 as_enumplace_t(p) -> enumplace_t
 
"structplace_t *" as_structplace_t (*args)
 as_structplace_t(p) -> structplace_t
 
"simpleline_place_t *" as_simpleline_place_t (*args)
 as_simpleline_place_t(p) -> simpleline_place_t
 
"tiplace_t *" as_tiplace_t (*args)
 as_tiplace_t(p) -> tiplace_t
 

Protected Member Functions

"void" _print (self, *args)
 _print(self, ud)
 

Properties

 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
 
 lnnum = property(_ida_kernwin.place_t_lnnum_get, _ida_kernwin.place_t_lnnum_set, doc=)
 

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self,
* args,
** kwargs )

Member Function Documentation

◆ _print()

"void" _print ( self,
* args )
protected

Parameters

ud: void *

◆ adjust()

"void" adjust ( self,
* args )

This function validates the location and makes sure that it points to an existing object. For example, if the location points to the middle of an instruction, it will be adjusted to point to the beginning of the instruction.

Parameters
ud(C++: void *) pointer to user-defined context data. Is supplied by linearray_t

◆ as_enumplace_t()

"enumplace_t *" as_enumplace_t ( * args)
static
Parameters
pplace_t *

◆ as_idaplace_t()

"idaplace_t *" as_idaplace_t ( * args)
static
Parameters
pplace_t *

◆ as_simpleline_place_t()

"simpleline_place_t *" as_simpleline_place_t ( * args)
static
Parameters
pplace_t *

◆ as_structplace_t()

"structplace_t *" as_structplace_t ( * args)
static
Parameters
pplace_t *

◆ as_tiplace_t()

"tiplace_t *" as_tiplace_t ( * args)
static
Parameters
pplace_t *

◆ beginning()

"bool" beginning ( self,
* args )
Parameters
ud(C++: void *) pointer to user-defined context data. Is supplied by linearray_t
Returns
: true if the current location points to the first displayable object

◆ clone()

"place_t *" clone ( self,
* args )
Returns
: a pointer to a copy of the current location in dynamic memory

◆ compare()

"int" compare ( self,
* args )

Please consider compare2(const place_t *, void *) instead.

Parameters
t2(C++: const place_t *) place_t const *

◆ compare2()

"int" compare2 ( self,
* args )

This function is used to organize loops. For example, if the user has selected an range, its boundaries are remembered as location objects. Any operation within the selection will have the following look: for ( loc=starting_location; loc < ending_location; loc.next() ) In this loop, the comparison function is used.

Parameters
t2(C++: const place_t *) the place to compare this one to.
arg3void *

◆ copyfrom()

"void" copyfrom ( self,
* args )
Parameters
from(C++: const place_t *) place_t const *

◆ deserialize()

"bool" deserialize ( self,
* args )

'pptr' should be incremented by as many bytes as de-serialization consumed.

Parameters
pptr(C++: const uchar **) pointer to a serialized representation of a place_t of this type.
Returns
: whether de-serialization was successful

◆ ending()

"bool" ending ( self,
* args )
Parameters
ud(C++: void *) pointer to user-defined context data. Is supplied by linearray_t
Returns
: true if the current location points to the last displayable object

◆ enter()

"place_t *" enter ( self,
* args )

If entering that place required some expanding, a place_t should be returned that represents that section, plus some flags for later use by 'leave()'.

Parameters
out_flagsflags to be used together with the place_t that is returned, in order to restore the section to its original state when leave() is called.
Returns
: a place_t corresponding to the beginning of the section of text that had to be expanded. That place_t's leave() will be called with the flags contained in 'out_flags' when the user navigates away from it.

◆ generate()

"PyObject *" generate ( self,
* args )
Parameters
ud(C++: void *) pointer to user-defined context data. Is supplied by linearray_t
maxsize(C++: int) the maximum number of lines to generate
Returns
: number of generated lines

◆ id()

"int" id ( self,
* args )
Returns
: the id

◆ leave()

"void" leave ( self,
* args )
Parameters
arg2uint32

◆ makeplace()

"place_t *" makeplace ( self,
* args )

When the user clicks on the scrollbar and drags it, we need to determine the location corresponding to the new scrollbar position. This function is used to determine it. It builds a location object for the specified 'x' and returns a pointer to it.

Parameters
ud(C++: void *) pointer to user-defined context data. Is supplied by linearray_t
x(C++: uval_t) number to map
lnnum(C++: int) line number to initialize 'lnnum'
Returns
: a freshly allocated object. See also PCF_MAKEPLACE_ALLOCATES

◆ name()

"char const *" name ( self,
* args )

All instances of a given class must return the same string.

Returns
: the place type name. Please try and pick something that is not too generic, as it might clash w/ other plugins. A good practice is to prefix the class name with the name of your plugin. E.g., "myplugin:srcplace_t".

◆ next()

"bool" next ( self,
* args )
Parameters
ud(C++: void *) pointer to user-defined context data. Is supplied by linearray_t
Returns
: success

◆ prev()

"bool" prev ( self,
* args )
Parameters
ud(C++: void *) pointer to user-defined context data. Is supplied by linearray_t
Returns
: success

◆ rebase()

"bool" rebase ( self,
* args )
Parameters
arg2segm_move_infos_t const &
Returns
: true if place was rebased, false otherwise

◆ serialize()

"void" serialize ( self,
* args )

It is fundamental that all instances of a particular subclass of of place_t occupy the same number of bytes when serialized.

◆ toea()

"ea_t" toea ( self,
* args )
Returns
: the corresponding ea_t, or BADADDR;

◆ touval()

"uval_t" touval ( self,
* args )

This mapping is used to draw the vertical scrollbar.

Parameters
ud(C++: void *) pointer to user-defined context data. Is supplied by linearray_t

Property Documentation

◆ lnnum

lnnum = property(_ida_kernwin.place_t_lnnum_get, _ida_kernwin.place_t_lnnum_set, doc=)
static

◆ thisown

thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
static

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