GraphTool  1.0
Tool for analyzing and graphically visualizing code dependencies for Ericsson.
 All Classes Namespaces Functions Variables Typedefs Enumerations Pages
Classes | Public Types | Public Member Functions | List of all members
ModuleGraphBuilder Class Reference

#include <module_graph_builder.h>

Inheritance diagram for ModuleGraphBuilder:
Inheritance graph
[legend]
Collaboration diagram for ModuleGraphBuilder:
Collaboration graph
[legend]

Classes

class  AddDependencies
 
class  AddDependents
 
class  AddModule
 
class  GraphAdder
 

Public Types

typedef Grapher< Module
*, Dependency< Module, Module >
*, CompareModuleByName,
CompareModuleDependency
GraphType
 

Public Member Functions

 ModuleGraphBuilder (Linkler *l)
 
GraphTypegrapher ()
 
void graph_all ()
 
void graph_all_dependencies ()
 
void graph_all_dependents ()
 
void graph_single (std::string module)
 
void graph_recursively (std::string module)
 
void graph_dependencies (std::string module)
 
void graph_dependents (std::string module)
 
Linklerlinkler ()
 
Moduleget (std::string module_name)
 

Detailed Description

ModuleGraphBuilder builds a Module-grapher object given a linkler. The grapher object is basically a directed graph with vertices and edges, representing modules and dependencies in the linkler.

Member Typedef Documentation

The type of grapher this builder creates

Constructor & Destructor Documentation

ModuleGraphBuilder::ModuleGraphBuilder ( Linkler l)

The constructor takes a linkler to base grapher building on. If no linkler is provided a new empty linkler is used.

Parameters
lthe linkler to use

Member Function Documentation

Module * ModuleGraphBuilder::get ( std::string  module_name)

Returns a pointer to an module in the linkler based on its name.

Parameters
module_namename of the module to access
void ModuleGraphBuilder::graph_all ( )
virtual

Add all Modules found in the linkler to the grapher.

Implements GraphBuilder.

void ModuleGraphBuilder::graph_all_dependencies ( )
virtual

Add edges for all dependencies of all Modules found in the linkler to the grapher.

Implements GraphBuilder.

void ModuleGraphBuilder::graph_all_dependents ( )
virtual

Add edges for all dependents of all modules found in the linkler to the grapher. Note, if you run this together with graph_all_dependencies, you will get two edges for each dependent in the directed graph

Implements GraphBuilder.

void ModuleGraphBuilder::graph_dependencies ( std::string  module)
virtual

Starting from a given module graph all dependencies for that module. If any of the dependent on modules aren't already in the grapher object, they will be added.

Parameters
modulename of the module to start from

Implements GraphBuilder.

void ModuleGraphBuilder::graph_dependents ( std::string  module)
virtual

Starting from a given module graph all dependents for that module. If any of the modules which depend on the given one aren't already in the grapher object they will be added.

Parameters
modulename of the module to start from

Implements GraphBuilder.

void ModuleGraphBuilder::graph_recursively ( std::string  module)
virtual

Starting from a given module graph all dependencies and dependents for that module, and every module reachable through dependencies. Recursively do the same for all modules reachable through dependencies.

Parameters
modulename of the module to start from

Implements GraphBuilder.

void ModuleGraphBuilder::graph_single ( std::string  module)
virtual

Add a specific module (in the linkler) to the grapher object.

Parameters
modulename of the module to be added

Implements GraphBuilder.

ModuleGraphBuilder::GraphType & ModuleGraphBuilder::grapher ( )

Access the grapher object as it has been built so far.

Linkler * ModuleGraphBuilder::linkler ( )

Returns the linkler used for generating the grapher.


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