GraphTool  1.0
Tool for analyzing and graphically visualizing code dependencies for Ericsson.
 All Classes Namespaces Functions Variables Typedefs Enumerations Pages
filterparser.h
1 #ifndef GRAPHTOOL_FILTER_PARSER_H_
2 #define GRAPHTOOL_FILTER_PARSER_H_
3 
4 #include "linkler.h"
5 #include "swu_graph_builder.h"
6 #include "graph_filter.h"
7 #include "dependency_degree_filter.h"
8 #include "regex_filter.h"
9 #include "run_block_filter.h"
10 #include "graph_filter_list.h"
11 #include "linkler_diff.h"
12 #include "../lib/pugixml-1.2/src/pugixml.hpp"
13 #include "mem_type.h"
14 
15 #include <string>
16 #include <vector>
17 #include <fstream>
18 
19 class FilterParser {
20 public:
21 
23 
25  ~FilterParser();
26 
30  GraphFilterList<GraphType>* read_filters(const std::string & file_url);
31 
36  bool write_filters(const std::string & file_url, GraphFilterList<GraphType>& filters);
37 
38 
39 private:
40  GraphAction<GraphType>* next_filter(pugi::xml_node& filter_node);
41  void write_filter_and_action(pugi::xml_node& root, GraphAction<GraphType>* filter);
42  void write_action(pugi::xml_node& filter_node, GraphAction<GraphType>* action);
43  void write_filter(pugi::xml_node& filter_node, GraphFilter<GraphType>* filter);
44 
45  Linkler& linkler_;
46  GraphProperties<GraphType>& properties_;
47  LinklerDiff* ldiff_;
48 };
49 
50 #endif
bool write_filters(const std::string &file_url, GraphFilterList< GraphType > &filters)
Definition: filterparser.cc:162
GraphFilterList< GraphType > * read_filters(const std::string &file_url)
Definition: filterparser.cc:29
Definition: filterparser.h:19
Definition: linkler.h:20
Definition: graph_action.h:13
Definition: graph_filter_list.h:16
Definition: linkler_diff.h:14
Definition: graph_filter.h:15
Definition: graph_properties.h:7