Public Member Functions

com.google.security.zynamics.binnavi.API.disassembly.Project Class Reference

Inheritance diagram for com.google.security.zynamics.binnavi.API.disassembly.Project:
com.google.security.zynamics.binnavi.API.disassembly.ViewContainer

List of all members.

Public Member Functions

void addDebuggerTemplate (final DebuggerTemplate debuggerTemplate) throws CouldntSaveDataException
void addListener (final IProjectListener listener)
boolean close ()
AddressSpace createAddressSpace (final String name) throws CouldntSaveDataException, CouldntLoadDataException
View createView (final View view, final String name, final String description) throws CouldntSaveDataException
View createView (final String name, final String description)
boolean deleteAddressSpace (final AddressSpace addressSpace) throws CouldntDeleteException
boolean deleteView (final View view) throws CouldntDeleteException
List< AddressSpacegetAddressSpaces ()
Date getCreationDate ()
Database getDatabase ()
List< DebuggerTemplategetDebuggerTemplates ()
String getDescription ()
List< FunctiongetFunctions ()
Date getModificationDate ()
String getName ()
List< TracegetTraces ()
List< ViewgetViews ()
boolean isLoaded ()
void load () throws CouldntLoadDataException
void removeDebuggerTemplate (final DebuggerTemplate debuggerTemplate) throws CouldntDeleteException
void removeListener (final IProjectListener listener)
void setDescription (final String description) throws CouldntSaveDataException
void setName (final String name) throws CouldntSaveDataException
String toString ()

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 com.google.security.zynamics.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 com.google.security.zynamics.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 com.google.security.zynamics.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 com.google.security.zynamics.binnavi.API.disassembly.Project.createAddressSpace ( final String  name  )  throws CouldntSaveDataException, CouldntLoadDataException

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.
CouldntLoadDataException 
View com.google.security.zynamics.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 com.google.security.zynamics.binnavi.API.disassembly.ViewContainer.

View com.google.security.zynamics.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 com.google.security.zynamics.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 com.google.security.zynamics.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> com.google.security.zynamics.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 com.google.security.zynamics.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 com.google.security.zynamics.binnavi.API.disassembly.Project.getDatabase (  ) 

Returns the database the project belongs to.

Returns:
The database the project belongs to.

Implements com.google.security.zynamics.binnavi.API.disassembly.ViewContainer.

List<DebuggerTemplate> com.google.security.zynamics.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 com.google.security.zynamics.binnavi.API.disassembly.Project.getDescription (  ) 

Returns the description string of the project.

Returns:
The description string of the project.
List<Function> com.google.security.zynamics.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 com.google.security.zynamics.binnavi.API.disassembly.ViewContainer.

Date com.google.security.zynamics.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 com.google.security.zynamics.binnavi.API.disassembly.Project.getName (  ) 

Returns the name of the project.

Returns:
The name of the project.
List<Trace> com.google.security.zynamics.binnavi.API.disassembly.Project.getTraces (  ) 

Returns all debug traces recorded for this project.

Returns:
A list of debug traces.
List<View> com.google.security.zynamics.binnavi.API.disassembly.Project.getViews (  ) 

Returns all project views of the project.

Returns:
A list of project views.
boolean com.google.security.zynamics.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 com.google.security.zynamics.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 com.google.security.zynamics.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 com.google.security.zynamics.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 com.google.security.zynamics.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 com.google.security.zynamics.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 com.google.security.zynamics.binnavi.API.disassembly.Project.toString (  ) 

Returns the string representation of the project.

Returns:
The string representation of the project.