24 #ifndef __CONFIG_NETCONF_H_ 25 #define __CONFIG_NETCONF_H_ 27 #include <config/config.h> 28 #include <netcomm/fawkes/client_handler.h> 29 #include <core/exception.h> 39 class InterruptibleBarrier;
40 class FawkesNetworkClient;
41 class MemoryConfiguration;
60 virtual void load(
const char *file_path);
62 virtual bool exists(
const char *path);
63 virtual bool is_float(
const char *path);
64 virtual bool is_uint(
const char *path);
65 virtual bool is_int(
const char *path);
66 virtual bool is_bool(
const char *path);
67 virtual bool is_string(
const char *path);
68 virtual bool is_list(
const char *path);
70 virtual bool is_default(
const char *path);
72 virtual float get_float(
const char *path);
73 virtual unsigned int get_uint(
const char *path);
74 virtual int get_int(
const char *path);
75 virtual bool get_bool(
const char *path);
76 virtual std::string get_string(
const char *path);
77 virtual std::vector<float> get_floats(
const char *path);
78 virtual std::vector<unsigned int> get_uints(
const char *path);
79 virtual std::vector<int> get_ints(
const char *path);
80 virtual std::vector<bool> get_bools(
const char *path);
81 virtual std::vector<std::string> get_strings(
const char *path);
83 virtual std::string get_comment(
const char *path);
84 virtual std::string get_default_comment(
const char *path);
85 virtual std::string get_type(
const char *path);
87 virtual void set_float(
const char *path,
float f);
88 virtual void set_uint(
const char *path,
unsigned int uint);
89 virtual void set_int(
const char *path,
int i);
90 virtual void set_bool(
const char *path,
bool b);
91 virtual void set_string(
const char *path, std::string &s);
92 virtual void set_string(
const char *path,
const char *s);
93 virtual void set_floats(
const char *path, std::vector<float> &f);
94 virtual void set_uints(
const char *path, std::vector<unsigned int> &uint);
95 virtual void set_ints(
const char *path, std::vector<int> &i);
96 virtual void set_bools(
const char *path, std::vector<bool> &b);
97 virtual void set_strings(
const char *path, std::vector<std::string> &s);
98 virtual void set_strings(
const char *path, std::vector<const char *> &s);
99 virtual void set_comment(
const char *path, std::string &comment);
100 virtual void set_comment(
const char *path,
const char *comment);
102 virtual void erase(
const char *path);
104 virtual void set_default_float(
const char *path,
float f);
105 virtual void set_default_uint(
const char *path,
unsigned int uint);
106 virtual void set_default_int(
const char *path,
int i);
107 virtual void set_default_bool(
const char *path,
bool b);
108 virtual void set_default_string(
const char *path, std::string &s);
109 virtual void set_default_string(
const char *path,
const char *s);
110 virtual void set_default_comment(
const char *path, std::string &comment);
111 virtual void set_default_comment(
const char *path,
const char *comment);
113 virtual void erase_default(
const char *path);
115 virtual void deregistered(
unsigned int id)
throw();
117 unsigned int id)
throw();
118 virtual void connection_died(
unsigned int id)
throw();
119 virtual void connection_established(
unsigned int id)
throw();
121 virtual void set_mirror_mode(
bool mirror);
133 virtual bool valid()
const;
135 virtual const char * path()
const;
136 virtual const char * type()
const;
138 virtual bool is_float()
const;
139 virtual bool is_uint()
const;
140 virtual bool is_int()
const;
141 virtual bool is_bool()
const;
142 virtual bool is_string()
const;
143 virtual bool is_list()
const;
144 virtual size_t get_list_size()
const;
146 virtual bool is_default()
const;
148 virtual float get_float()
const;
149 virtual unsigned int get_uint()
const;
150 virtual int get_int()
const;
151 virtual bool get_bool()
const;
152 virtual std::string get_string()
const;
153 virtual std::vector<float> get_floats()
const;
154 virtual std::vector<unsigned int> get_uints()
const;
155 virtual std::vector<int> get_ints()
const;
156 virtual std::vector<bool> get_bools()
const;
157 virtual std::vector<std::string> get_strings()
const;
158 virtual std::string get_as_string()
const;
160 virtual std::string get_comment()
const;
178 virtual void try_dump();
181 void send_get(
const char *path,
unsigned int msgid,
unsigned int expected_reply);
183 void set_value_internal(
unsigned int msg_type,
const char *path, uint16_t num_values,
184 size_t data_size,
void *data);
186 void erase_internal(
const char *path,
bool is_default);
192 bool __mirror_init_waiting;
196 bool __mirror_mode_before_connection_dead;
197 unsigned int __mirror_timeout_sec;
Message handler for FawkesNetworkClient.
Simple Fawkes network client.
This class tries to translate the found plan to interpreteable data for the rest of the program...
Fawkes library namespace.
Interface for configuration change handling.
Representation of a message that is sent over the network.
A barrier is a synchronization tool which blocks until a given number of threads have reached the bar...
Base class for exceptions in Fawkes.
Thrown if enabling mirror mode failed.
In-memory configuration store.
Iterator interface to iterate over config values.
Network configuration value iterator.
Mutex mutual exclusion lock.
Interface for configuration handling.
CannotEnableMirroringException(const char *msg)
Constructor.
Remote configuration via Fawkes net.