TARAXA
Loading...
Searching...
No Matches
config_updater.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <json/value.h>
4
5#include <functional>
6#include <vector>
7
8namespace taraxa::cli {
9
11 public:
12 ConfigUpdater(int chain_id);
13
14 void UpdateConfig(Json::Value& old_conf);
15
16 private:
17 struct ConfigChange {
18 using ApplyFunction = std::function<void(Json::Value& old_conf, const Json::Value& new_conf)>;
19
20 ConfigChange() = default;
21 ConfigChange(ApplyFunction&& apply_function) : apply(std::move(apply_function)) {}
23 };
24
25 Json::Value new_conf_;
26 std::vector<ConfigChange> config_changes_;
27};
28
29} // namespace taraxa::cli
Definition config_updater.hpp:10
Json::Value new_conf_
Definition config_updater.hpp:25
std::vector< ConfigChange > config_changes_
Definition config_updater.hpp:26
void UpdateConfig(Json::Value &old_conf)
Definition config_updater.cpp:24
std::hash for asio::adress
Definition FixedHash.h:483
Definition config.hpp:8
Definition config_updater.hpp:17
ConfigChange(ApplyFunction &&apply_function)
Definition config_updater.hpp:21
ApplyFunction apply
Definition config_updater.hpp:22
std::function< void(Json::Value &old_conf, const Json::Value &new_conf)> ApplyFunction
Definition config_updater.hpp:18