Public Member Functions

BinNavi.API.disassembly.Project Class Reference

Represents a single project. More...

Inheritance diagram for BinNavi.API.disassembly.Project:
BinNavi.API.disassembly.ViewContainer

List of all members.

Public Member Functions

void addDebuggerTemplate (final DebuggerTemplate debuggerTemplate) throws CouldntSaveDataException
 Adds a debugger template to the project.
void addListener (final IProjectListener listener)
 Adds a project listener.
boolean close ()
 Closes the project.
AddressSpace createAddressSpace (final String name) throws CouldntSaveDataException
 Creates a new address space.
View createView (final View view, final String name, final String description) throws CouldntSaveDataException
 Creates a copy of a view.
View createView (final String name, final String description)
 Creates a new project view.
boolean deleteAddressSpace (final AddressSpace addressSpace) throws CouldntDeleteException
 Deletes an address space.
boolean deleteView (final View view) throws CouldntDeleteException
 Deletes a view.
List< AddressSpacegetAddressSpaces ()
 Address spaces of the project.
Date getCreationDate ()
 Creation date of the project.
Database getDatabase ()
 Database the project belongs to.
List< DebuggerTemplategetDebuggerTemplates ()
 Debugger templates associated with the project.
String getDescription ()
 Project description.
List< FunctiongetFunctions ()
 Functions that belong to the project.
Date getModificationDate ()
 Modification date of the project.
String getName ()
 Name of the project.
List< TracegetTraces ()
 Recorded debug traces of the project.
List< ViewgetViews ()
 Views of the project.
boolean isLoaded ()
 Checks if the project is loaded.
void load () throws CouldntLoadDataException
 Loads the project.
void removeDebuggerTemplate (final DebuggerTemplate debuggerTemplate) throws CouldntDeleteException
 Removes a debugger template from the debugger.
void removeListener (final IProjectListener listener)
 Removes a project listener.
void setDescription (final String description) throws CouldntSaveDataException
 Changes the project description.
void setName (final String name) throws CouldntSaveDataException
 Changes the project name.
String toString ()
 Printable representation of the project.

Detailed Description

Project objects can be used to create collections of individual modules to create an environment for cross-module reverse engineering.


Member Function Documentation

void BinNavi.API.disassembly.Project.addDebuggerTemplate ( final DebuggerTemplate  debuggerTemplate  )  throws CouldntSaveDataException

Adds a debugger template that describes a debugger that is available in the address spaces of the project.

Parameters:
debuggerTemplate The debugger template to add.
Exceptions:
CouldntSaveDataException Thrown if the debugger template could not be written to the database.
void BinNavi.API.disassembly.Project.addListener ( final IProjectListener  listener  ) 

Adds an object that is notified about changes in the project.

Parameters:
listener The listener object that is notified about changes in the project.
Exceptions:
IllegalArgumentException Thrown if the listener argument is null.
IllegalStateException Thrown if the listener object is already listening on the project.
boolean BinNavi.API.disassembly.Project.close (  ) 

Closes the project. Listeners listening on this project have the option to veto the close operation in the closingProject method.

Returns:
True, if the project was closed. False, if the close operation was vetoed.
AddressSpace BinNavi.API.disassembly.Project.createAddressSpace ( final String  name  )  throws CouldntSaveDataException

Creates a new address space in the project.

Parameters:
name The name of the new address space.
Returns:
The created address space.
Exceptions:
CouldntSaveDataException Thrown if the address space could not be created.
View BinNavi.API.disassembly.Project.createView ( final String  name,
final String  description 
)

Creates a new empty project view.

Parameters:
name The name of the view.
description The description of the view.
Returns:
The created view.

Implements BinNavi.API.disassembly.ViewContainer.

View BinNavi.API.disassembly.Project.createView ( final View  view,
final String  name,
final String  description 
) throws CouldntSaveDataException

Creates a new view by copying an existing view.

Parameters:
view The view to copy.
name The name of the new view.
description The description of the new view.
Returns:
The created view.
Exceptions:
CouldntSaveDataException Thrown if the view could not be created.
boolean BinNavi.API.disassembly.Project.deleteAddressSpace ( final AddressSpace  addressSpace  )  throws CouldntDeleteException

Permanently deletes an address space from the project.

Parameters:
addressSpace The address space to delete.
Returns:
True, if the address space was deleted. False, if some part of BinNavi vetoed the deletion operation.
Exceptions:
CouldntDeleteException Thrown if the address space could not be deleted from the database.
boolean BinNavi.API.disassembly.Project.deleteView ( final View  view  )  throws CouldntDeleteException

Permanently deletes a view from the project.

Parameters:
view The view to delete.
Returns:
True, if the view was deleted. False, if some part of BinNavi vetoed the deletion operation.
Exceptions:
CouldntDeleteException Thrown if the view could not be deleted from the database.
List<AddressSpace> BinNavi.API.disassembly.Project.getAddressSpaces (  ) 

Returns a list of address spaces that are present in the project.

Returns:
A list of address spaces.
Exceptions:
IllegalStateException Thrown if the project was not loaded before.
Date BinNavi.API.disassembly.Project.getCreationDate (  ) 

Returns the creation date of the project. This is the date when the project was first written to the database.

Returns:
The creation date of the project.
Database BinNavi.API.disassembly.Project.getDatabase (  ) 

Returns the database the project belongs to.

Returns:
The database the project belongs to.

Implements BinNavi.API.disassembly.ViewContainer.

List<DebuggerTemplate> BinNavi.API.disassembly.Project.getDebuggerTemplates (  ) 

Returns the debugger templates that describe the debuggers that are available for debugging the address spaces of the project.

Returns:
A list of debugger templates.
String BinNavi.API.disassembly.Project.getDescription (  ) 

Returns the description string of the project.

Returns:
The description string of the project.
List<Function> BinNavi.API.disassembly.Project.getFunctions (  ) 

Returns all functions that belong to the project.

Returns:
The functions that belong to the (loaded) modules in the project.

Implements BinNavi.API.disassembly.ViewContainer.

Date BinNavi.API.disassembly.Project.getModificationDate (  ) 

Returns the modification date of the project. This is the date when the project was last modified.

Returns:
The modification date of the project.
String BinNavi.API.disassembly.Project.getName (  ) 

Returns the name of the project.

Returns:
The name of the project.
List<Trace> BinNavi.API.disassembly.Project.getTraces (  ) 

Returns all debug traces recorded for this project.

Returns:
A list of debug traces.
List<View> BinNavi.API.disassembly.Project.getViews (  ) 

Returns all project views of the project.

Returns:
A list of project views.
boolean BinNavi.API.disassembly.Project.isLoaded (  ) 

Returns a flag that indicates whether the project data has been loaded from the database.

Returns:
True, if the project has been loaded. False, otherwise.
void BinNavi.API.disassembly.Project.load (  )  throws CouldntLoadDataException

Loads the project data from the database.

Exceptions:
IllegalStateException Thrown if the project is already loaded.
CouldntLoadDataException Thrown if the project data could not be loaded from the database.
void BinNavi.API.disassembly.Project.removeDebuggerTemplate ( final DebuggerTemplate  debuggerTemplate  )  throws CouldntDeleteException

Removes a debugger template that describes a debugger that was previously available for debugging the address spaces of the project.

Parameters:
debuggerTemplate The debugger template to remove from the project.
Exceptions:
CouldntDeleteException Thrown if the debugger could not be removed from the project.
void BinNavi.API.disassembly.Project.removeListener ( final IProjectListener  listener  ) 

Removes a listener object from the project.

Parameters:
listener The listener object to remove from the project.
Exceptions:
IllegalArgumentException Thrown if the listener argument is null.
IllegalStateException Thrown if the listener object was not listening on the project.
void BinNavi.API.disassembly.Project.setDescription ( final String  description  )  throws CouldntSaveDataException

Changes the description of the project.

Parameters:
description The new description of the project.
Exceptions:
IllegalArgumentException Thrown if the description argument is null.
CouldntSaveDataException Thrown if the description could not be changed.
void BinNavi.API.disassembly.Project.setName ( final String  name  )  throws CouldntSaveDataException

Changes the name of the project.

Parameters:
name The new name of the project.
Exceptions:
IllegalArgumentException Thrown if the name argument is null.
CouldntSaveDataException Thrown if the name could not be changed.
String BinNavi.API.disassembly.Project.toString (  ) 

Returns the string representation of the project.

Returns:
The string representation of the project.