15 class RemoteHandlerBackend
18 std::function<void(std::string, uint8_t *,
size_t)> stream_rx;
19 std::mutex stream_rx_mtx;
21 void push_stream_data(std::string
id, uint8_t *data,
size_t size)
23 std::scoped_lock l(stream_rx_mtx);
24 stream_rx(
id, data, size);
28 void set_stream_rx_handler(std::function<
void(std::string, uint8_t *,
size_t)> f)
30 std::scoped_lock l(stream_rx_mtx);
45 virtual nlohmann::ordered_json _get_cfg_list() = 0;
46 virtual nlohmann::ordered_json _get_cfg(std::string key) = 0;
47 virtual cfg_res_t _set_cfg(std::string key, nlohmann::ordered_json v) = 0;
50 nlohmann::ordered_json get_cfg_list()
52 std::scoped_lock l(cfg_mtx);
53 return _get_cfg_list();
56 nlohmann::ordered_json get_cfg(std::string key)
58 std::scoped_lock l(cfg_mtx);
62 cfg_res_t set_cfg(std::string key, nlohmann::ordered_json v)
64 std::scoped_lock l(cfg_mtx);
65 cfg_res_t r = RES_ERR;
70 catch (std::exception &e)
74 push_stream_data(
"upd", NULL, 0);
78 nlohmann::ordered_json get_cfg()
80 nlohmann::ordered_json p;
81 auto v = get_cfg_list();
82 for (
auto &v2 : v.items())
83 p[v2.key()] = get_cfg(v2.key());
87 cfg_res_t set_cfg(nlohmann::ordered_json v)
90 for (
auto &i : v.items())
92 cfg_res_t r2 = set_cfg(i.key(), i.value());
100 RemoteHandlerBackend() {}
101 ~RemoteHandlerBackend() {}