GraphTool  1.0
Tool for analyzing and graphically visualizing code dependencies for Ericsson.
 All Classes Namespaces Functions Variables Typedefs Enumerations Pages
linkler.h
1 
8 #ifndef LINKLER_H_
9 #define LINKLER_H_
10 
11 #include <set>
12 #include <string>
13 #include <iostream>
14 #include "dependency.h"
15 #include "module.h"
16 #include "executable.h"
17 #include "swu.h"
18 #include "defines.h"
19 
20 class Linkler{
21 public:
22 
26  Linkler();
27 
31  Linkler(std::string f);
32 
36  Linkler(Linkler& l);
37 
41  ~Linkler();
42 
48  SWU* add_swu(std::string s_name);
49 
56  Module* add_module(std::string m_name, std::string type);
57 
64  Executable* add_executable(std::string e_name, int esp_id);
65 
72  Module* add_file_to_module(std::string m_name, std::string f_name);
73 
81  bool add_dependency(std::string a_module, std::string b_module, bool b_mod_type);
82 
87  Module* add_external_dependent(std::string m_name);
88 
95  Module* remove_file_from_module(std::string m_name, std::string f_name);
96 
103  bool assoc_module_swu(std::string m_name, std::string s_name);
104 
111  bool assoc_module_executable(std::string m_name, std::string e_name);
112 
118  SWU* find_swu(std::string s_name);
119 
125  Module* find_module(std::string module_name);
126 
132  Executable* find_executable(std::string exec_name);
133 
140 
145  void assoc_swu_to_exec(Executable* e);
146 
153  SWUSet* get_full_swuset(std::string e_name);
154 
159  std::string file_path();
160 
165  unsigned int num_modules();
166 
168  SWUSet* swus();
169 
171  ModuleSet* modules();
172 
174  ExecutableSet* executables();
175 
178 
181 
182 private:
184  SWUSet swus_;
185 
187  ModuleSet modules_;
188 
190  ExecutableSet executables_;
191 
193  std::string file_path_;
194 };
195 
196 #endif
void add_swus_to_executables()
Definition: linkler.cc:251
Executable * add_executable(std::string e_name, int esp_id)
Definition: linkler.cc:137
Module * add_external_dependent(std::string m_name)
Definition: linkler.cc:194
Linkler()
Definition: linkler.cc:4
bool assoc_module_executable(std::string m_name, std::string e_name)
Definition: linkler.cc:116
std::string file_path()
Definition: linkler.cc:275
ExecutableSet * executables()
Accessor for the set of executable pointers.
Definition: linkler.cc:283
bool assoc_module_swu(std::string m_name, std::string s_name)
Definition: linkler.cc:126
~Linkler()
Definition: linkler.cc:67
Definition: linkler.h:20
unsigned int num_modules()
Definition: linkler.cc:291
void print_module_dependency_types()
Prints all module dependency types to stdout (can be called from the XML Parser to make sure that all...
Definition: linkler.cc:307
Executable * find_executable(std::string exec_name)
Definition: linkler.cc:229
SWU * add_swu(std::string s_name)
Definition: linkler.cc:101
Definition: module.h:21
SWUSet * swus()
Accessor for the set of swu pointers.
Definition: linkler.cc:287
Module * find_module(std::string module_name)
Definition: linkler.cc:218
void print_swu_dependency_types()
Prints all swu dependency types to stdout (can be called from the XML Parser to make sure that all de...
Definition: linkler.cc:295
Definition: swu.h:27
Module * add_file_to_module(std::string m_name, std::string f_name)
Definition: linkler.cc:202
Module * add_module(std::string m_name, std::string type)
Definition: linkler.cc:77
Executable class, defines an executable / run block.
Definition: executable.h:13
SWUSet * get_full_swuset(std::string e_name)
Definition: linkler.cc:265
void assoc_swu_to_exec(Executable *e)
Definition: linkler.cc:256
SWU * find_swu(std::string s_name)
Definition: linkler.cc:240
ModuleSet * modules()
Accessor for the set of module pointers.
Definition: linkler.cc:279
bool add_dependency(std::string a_module, std::string b_module, bool b_mod_type)
Definition: linkler.cc:152
Module * remove_file_from_module(std::string m_name, std::string f_name)
Definition: linkler.cc:210