Package ghidra.app.util.exporter
Class CppExporter
java.lang.Object
ghidra.app.util.exporter.Exporter
ghidra.app.util.exporter.CppExporter
- All Implemented Interfaces:
ExtensionPoint
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
static final String
static final String
Fields inherited from class ghidra.app.util.exporter.Exporter
EMPTY_OPTIONS, log, provider
-
Constructor Summary
ConstructorDescriptionCppExporter
(DecompileOptions options, boolean createHeader, boolean createFile, boolean emitTypes, boolean excludeTags, String tags) -
Method Summary
Modifier and TypeMethodDescriptionboolean
export
(File file, DomainObject domainObj, AddressSetView addrSet, TaskMonitor monitor) Actually does the work of exporting aDomainObject
.getOptions
(DomainObjectService domainObjectService) Returns the available options for this exporter.void
setOptions
(List<Option> options) Sets the options.Methods inherited from class ghidra.app.util.exporter.Exporter
canExportDomainFile, canExportDomainObject, canExportDomainObject, export, getDefaultFileExtension, getHelpLocation, getMessageLog, getName, setExporterServiceProvider, supportsAddressRestrictedExport, toString
-
Field Details
-
CREATE_C_FILE
- See Also:
-
CREATE_HEADER_FILE
- See Also:
-
USE_CPP_STYLE_COMMENTS
- See Also:
-
EMIT_TYPE_DEFINITONS
- See Also:
-
FUNCTION_TAG_FILTERS
- See Also:
-
FUNCTION_TAG_EXCLUDE
- See Also:
-
-
Constructor Details
-
CppExporter
public CppExporter() -
CppExporter
public CppExporter(DecompileOptions options, boolean createHeader, boolean createFile, boolean emitTypes, boolean excludeTags, String tags)
-
-
Method Details
-
export
public boolean export(File file, DomainObject domainObj, AddressSetView addrSet, TaskMonitor monitor) throws IOException, ExporterException Description copied from class:Exporter
Actually does the work of exporting aDomainObject
. Export will include all saved and unsaved modifications which may have been made to the object.- Specified by:
export
in classExporter
- Parameters:
file
- the output file to write the exported infodomainObj
- the domain object to exportaddrSet
- the address set if only a portion of the program should be exported NOTE: seeExporter.supportsAddressRestrictedExport()
.monitor
- the task monitor- Returns:
- true if the program was successfully exported; otherwise, false. If the program was not successfully exported, the message log should be checked to find the source of the error.
- Throws:
IOException
- if an IO error occursExporterException
- if export error occurs
-
getOptions
Description copied from class:Exporter
Returns the available options for this exporter. The program is needed because some exporters may have options that vary depending on the specific program being exported.- Specified by:
getOptions
in classExporter
- Parameters:
domainObjectService
- a service for retrieving the applicable domainObject.- Returns:
- the available options for this exporter
-
setOptions
Description copied from class:Exporter
Sets the options. This method is not for defining the options, but rather it is for setting the values of options. If invalid options are passed in, then OptionException should be thrown.- Specified by:
setOptions
in classExporter
- Parameters:
options
- the option values for this exporter- Throws:
OptionException
- if invalid options are passed in
-