decompiler  1.0.0
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
RegisterProgram Class Reference

Command to register a new Program (executable) with the decompiler. More...

#include <ghidra_process.hh>

Inheritance diagram for RegisterProgram:
GhidraCommand

Public Member Functions

virtual void rawAction (void)
 Perform the action of the command. More...
 
- Public Member Functions inherited from GhidraCommand
 GhidraCommand (void)
 Construct given i/o streams.
 
virtual ~GhidraCommand (void)
 Destructor.
 
int4 doit (void)
 Configure and execute the command, then send back results. More...
 

Public Attributes

int4 archid
 Resulting id of the program to send back.
 

Private Member Functions

virtual void loadParameters (void)
 Read parameters directing command execution. More...
 
virtual void sendResult (void)
 Send results of the command (if any) back to the Ghidra client. More...
 

Private Attributes

string pspec
 Processor specification to configure with.
 
string cspec
 Compiler specification to configure with.
 
string tspec
 Configuration (address-spaces) for the Translate object.
 
string corespec
 A description of core data-types for the TypeFactory object.
 

Additional Inherited Members

- Protected Attributes inherited from GhidraCommand
istream & sin
 The input stream from the Ghidra client.
 
ostream & sout
 The output stream to the Ghidra client.
 
ArchitectureGhidraghidra
 The Architecture on which to perform the command.
 
int4 status
 Meta-command to system (0=wait for next command, 1=terminate process)
 

Detailed Description

Command to register a new Program (executable) with the decompiler.

An id is assigned to the program, and an Architecture object for the program is created and initialized. This must be issued before any other command. The command expects four XML document parameters:

Member Function Documentation

◆ loadParameters()

void RegisterProgram::loadParameters ( void  )
privatevirtual

Read parameters directing command execution.

This method reads an id selecting the Architecture to act on, but it can be overloaded to read any set of data from the Ghidra client to configure how the command is executed. Individual parameters are read using the method protocol.

Reimplemented from GhidraCommand.

References corespec, cspec, pspec, ArchitectureGhidra::readStringStream(), GhidraCommand::sin, and tspec.

◆ rawAction()

void RegisterProgram::rawAction ( void  )
virtual

Perform the action of the command.

Configuration is assumed to have happened, and this object can immediately begin examining and manipulating data under the active Architecture object to perform the command.

Implements GhidraCommand.

References archid, corespec, cspec, GhidraCommand::ghidra, Architecture::init(), pspec, GhidraCommand::sin, GhidraCommand::sout, and tspec.

◆ sendResult()

void RegisterProgram::sendResult ( void  )
privatevirtual

Send results of the command (if any) back to the Ghidra client.

This method sends any warnings accumulated during execution back, but it can be overloaded to send back any kind of information. Individual records are sent using the message protocol.

Reimplemented from GhidraCommand.

References archid, GhidraCommand::sendResult(), and GhidraCommand::sout.


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