Fawkes Plugin Network Handler. More...
#include <>>
Public Member Functions | |
PluginNetworkHandler (PluginManager *manager, FawkesNetworkHub *hub, Mutex *mutex=NULL) | |
Constructor. | |
~PluginNetworkHandler () | |
Destructor. | |
virtual void | handle_network_message (FawkesNetworkMessage *msg) |
virtual void | client_connected (unsigned int clid) |
virtual void | client_disconnected (unsigned int clid) |
virtual void | loop () |
Process all network messages that have been received. | |
virtual void | plugin_loaded (const char *plugin_name) |
Plugin loaded event. | |
virtual void | plugin_unloaded (const char *plugin_name) |
Plugin unloaded event. | |
Protected Member Functions | |
virtual void | run () |
Stub to see name in backtrace for easier debugging. |
Fawkes Plugin Network Handler.
This network handler handles requests of plugin lists and for loading/unloading plugins received over the network.
Definition at line 55 of file handler.h.
fawkes::PluginNetworkHandler::PluginNetworkHandler | ( | PluginManager * | manager, | |
FawkesNetworkHub * | hub, | |||
Mutex * | mutex = NULL | |||
) |
Constructor.
manager | plugin manager for the actual work | |
hub | Fawkes network hub | |
mutex | mutex that will be used to protect loading and unloading of plugins. |
Definition at line 68 of file handler.cpp.
References fawkes::FawkesNetworkHub::add_handler(), and fawkes::PluginManager::add_listener().
fawkes::PluginNetworkHandler::~PluginNetworkHandler | ( | ) |
Destructor.
Definition at line 84 of file handler.cpp.
References fawkes::FawkesNetworkHub::remove_handler(), and fawkes::PluginManager::remove_listener().
void fawkes::PluginNetworkHandler::loop | ( | ) | [virtual] |
Process all network messages that have been received.
Definition at line 277 of file handler.cpp.
References fawkes::FawkesNetworkMessage::clid(), fawkes::PluginManager::is_loaded(), fawkes::LockList< Type >::lock(), fawkes::LibLogger::log_debug(), fawkes::LibLogger::log_error(), fawkes::LibLogger::log_info(), fawkes::MSG_PLUGIN_LIST_AVAIL, fawkes::MSG_PLUGIN_LIST_LOADED, fawkes::MSG_PLUGIN_LOAD, fawkes::MSG_PLUGIN_SUBSCRIBE_WATCH, fawkes::MSG_PLUGIN_UNLOAD, fawkes::MSG_PLUGIN_UNSUBSCRIBE_WATCH, fawkes::FawkesNetworkMessage::msgid(), fawkes::plugin_unload_msg_t::name, fawkes::plugin_load_msg_t::name, fawkes::Thread::name(), fawkes::FawkesNetworkMessage::payload(), fawkes::FawkesNetworkMessage::payload_size(), fawkes::LockQueue< Type >::pop_locked(), fawkes::LockList< Type >::remove_locked(), fawkes::FawkesNetworkHub::send(), fawkes::LockList< Type >::unlock(), and fawkes::RefCount::unref().
void fawkes::PluginNetworkHandler::plugin_loaded | ( | const char * | plugin_name | ) | [virtual] |
Plugin loaded event.
plugin_name | name of the plugin that has just been loaded |
Implements fawkes::PluginManagerListener.
Definition at line 386 of file handler.cpp.
void fawkes::PluginNetworkHandler::plugin_unloaded | ( | const char * | plugin_name | ) | [virtual] |
Plugin unloaded event.
plugin_name | name of the plugin that has just been unloaded |
Implements fawkes::PluginManagerListener.
Definition at line 392 of file handler.cpp.
virtual void fawkes::PluginNetworkHandler::run | ( | ) | [inline, protected, virtual] |
Stub to see name in backtrace for easier debugging.