OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bgp_config_parser.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #ifndef SRC_BGP_BGP_CONFIG_PARSER_H_
6 #define SRC_BGP_BGP_CONFIG_PARSER_H_
7 
8 #include <list>
9 #include <string>
10 
11 #include "base/util.h"
12 
13 class DB;
14 struct DBRequest;
15 namespace pugi {
16 class xml_node;
17 }
18 
19 // Convert an xml file into a set of IFMapTable requests.
21 public:
22  typedef std::list<DBRequest *> RequestList;
23 
24  explicit BgpConfigParser(DB *db);
25 
26  bool Parse(const std::string &content);
27 
28  static std::string session_uuid(const std::string &left,
29  const std::string &right,
30  int index);
31 
32 private:
33  bool ParseConfig(const pugi::xml_node &root, bool add_change,
34  RequestList *requests) const;
35  bool ParseRoutingInstance(const pugi::xml_node &parent, bool add_change,
36  RequestList *requests) const;
37  bool ParseVirtualNetwork(const pugi::xml_node &parent, bool add_change,
38  RequestList *requests) const;
39  bool ParseSubCluster(const pugi::xml_node &parent, bool add_change,
40  RequestList *requests) const;
41  bool ParseRoutingPolicy(const pugi::xml_node &parent, bool add_change,
42  RequestList *requests) const;
43  bool ParseRouteAggregate(const pugi::xml_node &parent, bool add_change,
44  RequestList *requests) const;
45  bool ParseGlobalSystemConfig(const pugi::xml_node &parent, bool add_change,
46  RequestList *requests) const;
47  bool ParseGlobalQosConfig(const pugi::xml_node &parent, bool add_change,
48  RequestList *requests) const;
49 
50  DB *db_;
52 };
53 
54 #endif // SRC_BGP_BGP_CONFIG_PARSER_H_
static std::string session_uuid(const std::string &left, const std::string &right, int index)
bool ParseSubCluster(const pugi::xml_node &parent, bool add_change, RequestList *requests) const
bool ParseRouteAggregate(const pugi::xml_node &parent, bool add_change, RequestList *requests) const
bool ParseGlobalQosConfig(const pugi::xml_node &parent, bool add_change, RequestList *requests) const
bool ParseRoutingInstance(const pugi::xml_node &parent, bool add_change, RequestList *requests) const
Definition: db.h:24
DISALLOW_COPY_AND_ASSIGN(BgpConfigParser)
bool Parse(const std::string &content)
std::list< DBRequest * > RequestList
bool ParseVirtualNetwork(const pugi::xml_node &parent, bool add_change, RequestList *requests) const
bool ParseGlobalSystemConfig(const pugi::xml_node &parent, bool add_change, RequestList *requests) const
bool ParseRoutingPolicy(const pugi::xml_node &parent, bool add_change, RequestList *requests) const
bool ParseConfig(const pugi::xml_node &root, bool add_change, RequestList *requests) const