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

Extension point for building a GNU BFD capable Architecture. More...

#include <bfd_arch.hh>

Inheritance diagram for BfdArchitectureCapability:
ArchitectureCapability 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 ArchitectureCapability
const string & getName (void) const
 Get the capability identifier.
 
virtual void initialize (void)
 Do specialized initialization. More...
 
- Public Member Functions inherited from CapabilityPoint
virtual ~CapabilityPoint (void)
 Destructor.
 

Private Member Functions

 BfdArchitectureCapability (void)
 Singleton constructor.
 
 BfdArchitectureCapability (const BfdArchitectureCapability &op2)
 Not implemented.
 
BfdArchitectureCapabilityoperator= (const BfdArchitectureCapability &op2)
 Not implemented.
 

Static Private Attributes

static BfdArchitectureCapability bfdArchitectureCapability
 The singleton instance.
 

Additional Inherited Members

- Static Public Member Functions inherited from 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 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 CapabilityPoint
static void initializeAll (void)
 Finish initialization for all extension points. More...
 
- Protected Member Functions inherited from CapabilityPoint
 CapabilityPoint (void)
 Construct extension capability exactly once. More...
 
- Protected Attributes inherited from ArchitectureCapability
string name
 Identifier for this capability.
 

Detailed Description

Extension point for building a GNU BFD capable Architecture.

Member Function Documentation

Architecture * BfdArchitectureCapability::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 ArchitectureCapability.

bool BfdArchitectureCapability::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 ArchitectureCapability.

bool BfdArchitectureCapability::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 ArchitectureCapability.

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


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