-
Notifications
You must be signed in to change notification settings - Fork 390
/
config_client_manager.h
40 lines (33 loc) · 1.15 KB
/
config_client_manager.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
* Copyright (c) 2016 Juniper Networks, Inc. All rights reserved.
*/
#ifndef ctrlplane_config_client_manager_h
#define ctrlplane_config_client_manager_h
#include <boost/scoped_ptr.hpp>
class ConfigDbClient;
class ConfigJsonParser;
class EventManager;
class IFMapServer;
struct IFMapConfigOptions;
/*
* This class is the manager that over-sees the retrieval of user configuration.
* It interacts with the rabbit-mq client, the database-client and the parser
* that parses the configuration received from the database-client. Its the
* coordinator between these 3 pieces.
*/
class ConfigClientManager {
public:
ConfigClientManager(EventManager *evm, IFMapServer *ifmap_server,
const IFMapConfigOptions& config_options);
void Initialize();
ConfigDbClient *config_db_client() const;
ConfigJsonParser *config_json_parser() const;
bool GetEndOfRibComputed() const;
private:
static int thread_count_;
EventManager *evm_;
IFMapServer *ifmap_server_;
boost::scoped_ptr<ConfigJsonParser> config_json_parser_;
boost::scoped_ptr<ConfigDbClient> config_db_client_;
};
#endif // ctrlplane_config_client_manager_h