Fawkes Configuration Network Handler. More...
#include <>>
Public Member Functions | |
ConfigNetworkHandler (Configuration *config, FawkesNetworkHub *hub) | |
Constructor. | |
~ConfigNetworkHandler () | |
Destructor. | |
virtual void | handle_network_message (FawkesNetworkMessage *msg) |
Handle network message. | |
virtual void | client_connected (unsigned int clid) |
Client connected. | |
virtual void | client_disconnected (unsigned int clid) |
Client disconnected. | |
virtual void | loop () |
Process all network messages that have been received. | |
virtual void | config_tag_changed (const char *new_location) |
Tag changed. | |
virtual void | config_value_changed (const char *path, bool is_default, int value) |
Called whenever an int value has changed. | |
virtual void | config_value_changed (const char *path, bool is_default, unsigned int value) |
Called whenever an unsigned int value has changed. | |
virtual void | config_value_changed (const char *path, bool is_default, float value) |
Called whenever an float value has changed. | |
virtual void | config_value_changed (const char *path, bool is_default, bool value) |
Called whenever an boolean value has changed. | |
virtual void | config_value_changed (const char *path, bool is_default, const char *value) |
Called whenever a string value has changed. | |
virtual void | config_comment_changed (const char *path, bool is_default, const char *comment) |
Called whenever a comment has changed. | |
virtual void | config_value_erased (const char *path, bool is_default) |
Called whenever a value has been erased from the config. | |
Protected Member Functions | |
virtual void | run () |
Stub to see name in backtrace for easier debugging. |
Fawkes Configuration Network Handler.
It provides access to a given config via the network. This is mainly used to allow modification of config values over the network.
Definition at line 45 of file net_handler.h.
fawkes::ConfigNetworkHandler::ConfigNetworkHandler | ( | Configuration * | config, | |
FawkesNetworkHub * | hub | |||
) |
Constructor.
config | configuration, loaded and ready to be used for getting and setting values | |
hub | Fawkes network hub to use for receiving and sending network messages |
Definition at line 52 of file net_handler.cpp.
References fawkes::Configuration::add_change_handler(), fawkes::FawkesNetworkHub::add_handler(), and fawkes::Thread::start().
fawkes::ConfigNetworkHandler::~ConfigNetworkHandler | ( | ) |
Destructor.
Definition at line 69 of file net_handler.cpp.
References fawkes::Thread::cancel(), fawkes::LockQueue< Type >::clear(), fawkes::Thread::join(), and fawkes::Configuration::rem_change_handler().
void fawkes::ConfigNetworkHandler::client_connected | ( | unsigned int | clid | ) | [virtual] |
Client connected.
Ignored.
clid | client ID |
Definition at line 508 of file net_handler.cpp.
void fawkes::ConfigNetworkHandler::client_disconnected | ( | unsigned int | clid | ) | [virtual] |
Client disconnected.
If the client was a subscriber it is removed.
clid | client ID |
Definition at line 518 of file net_handler.cpp.
References fawkes::LockList< Type >::lock(), fawkes::LibLogger::log_warn(), and fawkes::LockList< Type >::unlock().
void fawkes::ConfigNetworkHandler::config_comment_changed | ( | const char * | path, | |
bool | is_default, | |||
const char * | comment | |||
) | [virtual] |
Called whenever a comment has changed.
path | path of value | |
is_default | true if modified comment is of a default value, false otherwise | |
comment | new comment |
Implements fawkes::ConfigurationChangeHandler.
Definition at line 648 of file net_handler.cpp.
References fawkes::LockList< Type >::lock(), fawkes::LibLogger::log_warn(), fawkes::config_comment_msg_t::s, fawkes::FawkesNetworkHub::send(), and fawkes::LockList< Type >::unlock().
void fawkes::ConfigNetworkHandler::config_tag_changed | ( | const char * | new_tag | ) | [virtual] |
Tag changed.
Ignored.
new_tag | new tag |
Implements fawkes::ConfigurationChangeHandler.
Definition at line 536 of file net_handler.cpp.
void fawkes::ConfigNetworkHandler::config_value_changed | ( | const char * | path, | |
bool | is_default, | |||
float | value | |||
) | [virtual] |
Called whenever an float value has changed.
path | path of value | |
is_default | true if modified value is a default value, false otherwise | |
value | new value |
Implements fawkes::ConfigurationChangeHandler.
Definition at line 584 of file net_handler.cpp.
References fawkes::config_float_value_msg_t::f, fawkes::LockList< Type >::lock(), fawkes::LibLogger::log_warn(), fawkes::FawkesNetworkHub::send(), and fawkes::LockList< Type >::unlock().
void fawkes::ConfigNetworkHandler::config_value_changed | ( | const char * | path, | |
bool | is_default, | |||
bool | value | |||
) | [virtual] |
Called whenever an boolean value has changed.
path | path of value | |
is_default | true if modified value is a default value, false otherwise | |
value | new value |
Implements fawkes::ConfigurationChangeHandler.
Definition at line 605 of file net_handler.cpp.
References fawkes::config_bool_value_msg_t::b, fawkes::LockList< Type >::lock(), fawkes::LibLogger::log_warn(), fawkes::FawkesNetworkHub::send(), and fawkes::LockList< Type >::unlock().
void fawkes::ConfigNetworkHandler::config_value_changed | ( | const char * | path, | |
bool | is_default, | |||
const char * | value | |||
) | [virtual] |
Called whenever a string value has changed.
path | path of value | |
is_default | true if modified value is a default value, false otherwise | |
value | new value |
Implements fawkes::ConfigurationChangeHandler.
Definition at line 626 of file net_handler.cpp.
References fawkes::LockList< Type >::lock(), fawkes::LibLogger::log_warn(), fawkes::config_string_value_msg_t::s, fawkes::FawkesNetworkHub::send(), and fawkes::LockList< Type >::unlock().
void fawkes::ConfigNetworkHandler::config_value_changed | ( | const char * | path, | |
bool | is_default, | |||
unsigned int | value | |||
) | [virtual] |
Called whenever an unsigned int value has changed.
path | path of value | |
is_default | true if modified value is a default value, false otherwise | |
value | new value |
Implements fawkes::ConfigurationChangeHandler.
Definition at line 563 of file net_handler.cpp.
References fawkes::LockList< Type >::lock(), fawkes::LibLogger::log_warn(), fawkes::FawkesNetworkHub::send(), fawkes::config_uint_value_msg_t::u, and fawkes::LockList< Type >::unlock().
void fawkes::ConfigNetworkHandler::config_value_changed | ( | const char * | path, | |
bool | is_default, | |||
int | value | |||
) | [virtual] |
Called whenever an int value has changed.
path | path of value | |
is_default | true if modified value is a default value, false otherwise | |
value | new value |
Implements fawkes::ConfigurationChangeHandler.
Definition at line 542 of file net_handler.cpp.
References fawkes::config_int_value_msg_t::i, fawkes::LockList< Type >::lock(), fawkes::LibLogger::log_warn(), fawkes::FawkesNetworkHub::send(), and fawkes::LockList< Type >::unlock().
void fawkes::ConfigNetworkHandler::config_value_erased | ( | const char * | path, | |
bool | is_default | |||
) | [virtual] |
Called whenever a value has been erased from the config.
path | path of value | |
is_default | true if erased value was a default value, false otherwise |
Implements fawkes::ConfigurationChangeHandler.
Definition at line 671 of file net_handler.cpp.
References fawkes::LockList< Type >::lock(), fawkes::LibLogger::log_warn(), fawkes::FawkesNetworkHub::send(), and fawkes::LockList< Type >::unlock().
void fawkes::ConfigNetworkHandler::handle_network_message | ( | FawkesNetworkMessage * | msg | ) | [virtual] |
Handle network message.
The message is put into the inbound queue and processed in processAfterLoop().
msg | message |
Definition at line 495 of file net_handler.cpp.
References fawkes::LockQueue< Type >::push_locked(), fawkes::RefCount::ref(), and fawkes::Thread::wakeup().
void fawkes::ConfigNetworkHandler::loop | ( | ) | [virtual] |
Process all network messages that have been received.
Definition at line 162 of file net_handler.cpp.
References fawkes::Exception::append(), fawkes::ConfigListContent::append(), fawkes::config_bool_value_msg_t::b, fawkes::FawkesNetworkMessage::clid(), fawkes::config_getval_msg_t::cp, fawkes::config_erase_value_msg_t::cp, fawkes::Configuration::erase(), fawkes::Configuration::erase_default(), fawkes::config_float_value_msg_t::f, fawkes::Configuration::get_bool(), fawkes::Configuration::get_comment(), fawkes::Configuration::get_default_comment(), fawkes::Configuration::get_float(), fawkes::Configuration::get_int(), fawkes::Configuration::get_string(), fawkes::Configuration::get_uint(), fawkes::Configuration::get_value(), fawkes::config_int_value_msg_t::i, fawkes::Configuration::is_default(), fawkes::config_descriptor_t::is_default, fawkes::Configuration::iterator_default(), fawkes::Configuration::iterator_hostspecific(), fawkes::Configuration::lock(), fawkes::LibLogger::log_warn(), fawkes::FawkesNetworkMessage::msg(), fawkes::FawkesNetworkMessage::msgge(), fawkes::FawkesNetworkMessage::msgid(), fawkes::Configuration::ValueIterator::next(), fawkes::config_descriptor_t::path, fawkes::FawkesNetworkMessage::payload(), fawkes::FawkesNetworkMessage::payload_size(), fawkes::LockQueue< Type >::pop_locked(), fawkes::LockList< Type >::push_back_locked(), fawkes::config_comment_msg_t::s, fawkes::config_string_value_msg_t::s, fawkes::FawkesNetworkHub::send(), fawkes::Configuration::set_bool(), fawkes::Configuration::set_comment(), fawkes::Configuration::set_default_bool(), fawkes::Configuration::set_default_comment(), fawkes::Configuration::set_default_float(), fawkes::Configuration::set_default_int(), fawkes::Configuration::set_default_string(), fawkes::Configuration::set_default_uint(), fawkes::Configuration::set_float(), fawkes::Configuration::set_int(), fawkes::Configuration::set_string(), fawkes::Configuration::set_uint(), fawkes::config_uint_value_msg_t::u, fawkes::Configuration::unlock(), and fawkes::RefCount::unref().
virtual void fawkes::ConfigNetworkHandler::run | ( | ) | [inline, protected, virtual] |
Stub to see name in backtrace for easier debugging.
Definition at line 71 of file net_handler.h.