Fawkes Configuration Network Handler. More...
#include <config/net_handler.h>

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 |
Implements fawkes::FawkesNetworkHandler.
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 |
Implements fawkes::FawkesNetworkHandler.
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, | |||
| 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, | |||
| 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, | |||
| 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, | |||
| 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 |
Implements fawkes::FawkesNetworkHandler.
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.
Reimplemented from fawkes::Thread.
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.
Reimplemented from fawkes::Thread.
Definition at line 71 of file net_handler.h.
1.6.1