decompiler  1.0.0
Public Member Functions | Private Member Functions | Static Private Attributes | List of all members
ghidra::XmlArchitectureCapability Class Reference

Extension for building an XML format capable Architecture. More...

#include <xml_arch.hh>

Inheritance diagram for ghidra::XmlArchitectureCapability:
ghidra::ArchitectureCapability ghidra::CapabilityPoint

Public Member Functions

virtual ArchitecturebuildArchitecture (const string &filename, const string &target, ostream *estream)
 Build an Architecture given a raw file or data. More...
 
virtual bool isFileMatch (const string &filename) const
 Determine if this extension can handle this file. More...
 
virtual bool isXmlMatch (Document *doc) const
 Determine is this extension can handle this XML document. More...
 
- Public Member Functions inherited from ghidra::ArchitectureCapability
const string & getName (void) const
 Get the capability identifier.
 
virtual void initialize (void)
 Do specialized initialization. More...
 
- Public Member Functions inherited from ghidra::CapabilityPoint
virtual ~CapabilityPoint (void)
 Destructor.
 

Private Member Functions

 XmlArchitectureCapability (void)
 Singleton.
 
 XmlArchitectureCapability (const XmlArchitectureCapability &op2)
 Not implemented.
 
XmlArchitectureCapabilityoperator= (const XmlArchitectureCapability &op2)
 Not implemented.
 

Static Private Attributes

static XmlArchitectureCapability xmlArchitectureCapability
 The singleton instance.
 

Additional Inherited Members

- Static Public Member Functions inherited from ghidra::ArchitectureCapability
static ArchitectureCapabilityfindCapability (const string &filename)
 Find an extension to process a file. More...
 
static ArchitectureCapabilityfindCapability (Document *doc)
 Find an extension to process an XML document. More...
 
static ArchitectureCapabilitygetCapability (const string &name)
 Get a capability by name. More...
 
static void sortCapabilities (void)
 Sort extensions. More...
 
static uint4 getMajorVersion (void)
 Get major decompiler version.
 
static uint4 getMinorVersion (void)
 Get minor decompiler version.
 
- Static Public Member Functions inherited from ghidra::CapabilityPoint
static void initializeAll (void)
 Finish initialization for all extension points. More...
 
- Protected Member Functions inherited from ghidra::CapabilityPoint
 CapabilityPoint (void)
 Construct extension capability exactly once. More...
 
- Protected Attributes inherited from ghidra::ArchitectureCapability
string name
 Identifier for this capability.
 

Detailed Description

Extension for building an XML format capable Architecture.

Member Function Documentation

◆ buildArchitecture()

Architecture * ghidra::XmlArchitectureCapability::buildArchitecture ( const string &  filename,
const string &  target,
ostream *  estream 
)
virtual

Build an Architecture given a raw file or data.

This is implemented by each separate extension. The method is handed a filename and possibly external target information and must build the Architecture object, initializing all the major subcomponents, using just this info.

Parameters
filenameis the path to the executable file to examine
targetif non-empty is a language id string
estreamis an output stream for error messages

Implements ghidra::ArchitectureCapability.

◆ isFileMatch()

bool ghidra::XmlArchitectureCapability::isFileMatch ( const string &  filename) const
virtual

Determine if this extension can handle this file.

Parameters
filenameis the name of the file to examine
Returns
true is this extension is suitable for analyzing the file

Implements ghidra::ArchitectureCapability.

◆ isXmlMatch()

bool ghidra::XmlArchitectureCapability::isXmlMatch ( Document doc) const
virtual

Determine is this extension can handle this XML document.

If a file to analyze is XML based, this method examines the XML parse to determine if this extension can understand the document

Parameters
docis the parsed XML document
Returns
true if this extension understands the XML

Implements ghidra::ArchitectureCapability.

References ghidra::Element::getName(), and ghidra::Document::getRoot().


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