Public Member Functions

# BinNavi.API.disassembly.Project Class Reference

Represents a single project. More...

Inheritance diagram for BinNavi.API.disassembly.Project:

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< AddressSpace > | getAddressSpaces ()
| Address spaces of the project.
Date | getCreationDate ()
| Creation date of the project.
Database | getDatabase ()
| Database the project belongs to.
List< DebuggerTemplate > | getDebuggerTemplates ()
| Debugger templates associated with the project.
String | getDescription ()
| Project description.
List< Function > | getFunctions ()
| Functions that belong to the project.
Date | getModificationDate ()
| Modification date of the project.
String | getName ()
| Name of the project.
List< Trace > | getTraces ()
| Recorded debug traces of the project.
List< View > | getViews ()
| 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.