1#ifndef GLOBALCLICOMM_HH
2#define GLOBALCLICOMM_HH
25 void addListener(std::unique_ptr<CliListener> listener);
33 void log(
LogLevel level, std::string_view message)
override;
35 std::string_view value)
override;
37 std::string_view value)
override;
40 void updateHelper(
UpdateType type, std::string_view machine,
41 std::string_view name, std::string_view value);
44 std::array<hash_map<std::string, std::string, XXHasher>,
NUM_UPDATES> prevValues;
46 std::vector<std::unique_ptr<CliListener>> listeners;
48 bool delivering =
false;
49 bool allowExternalCommands =
false;
void addListener(std::unique_ptr< CliListener > listener)
void log(LogLevel level, std::string_view message) override
void update(UpdateType type, std::string_view name, std::string_view value) override
GlobalCliComm(const GlobalCliComm &)=delete
GlobalCliComm & operator=(const GlobalCliComm &)=delete
std::unique_ptr< CliListener > removeListener(CliListener &listener)
void setAllowExternalCommands()
void updateFiltered(UpdateType type, std::string_view name, std::string_view value) override
Same as update(), but checks that the value for type-name is the same as in the previous call.
This file implemented 3 utility functions: