24 #include <gui_utils/connection_dispatcher.h>
25 #include <netcomm/fawkes/client.h>
58 unsigned short int port,
76 ConnectionDispatcher::connect_signals()
78 dispatcher_connected_.connect(
81 dispatcher_message_received_.connect(
116 client_owned_ =
false;
135 ConnectionDispatcher::operator bool()
137 return (client_ && client_->connected());
146 signal_connected_.emit();
155 signal_disconnected_.emit();
164 queue_message_received_.
lock();
165 while (!queue_message_received_.empty()) {
167 signal_message_received_.emit(msg);
169 queue_message_received_.pop();
171 queue_message_received_.
unlock();
184 queue_message_received_.push_locked(m);
185 dispatcher_message_received_();
191 dispatcher_disconnected_();
197 dispatcher_connected_();
205 sigc::signal<void, FawkesNetworkMessage *>
208 return signal_message_received_;
218 return signal_connected_;
229 return signal_disconnected_;
virtual void on_connection_died()
Internal event handler.
void set_client(FawkesNetworkClient *client)
Set Fawkes network client.
ConnectionDispatcher(unsigned int cid=FAWKES_CID_OBSERVER_MODE)
Constructor.
virtual void connection_established(unsigned int id) noexcept
Client has established a connection.
void set_cid(unsigned int cid)
Set component ID.
virtual ~ConnectionDispatcher()
Destructor.
sigc::signal< void > signal_connected()
Get "connected" signal.
FawkesNetworkClient * get_client()
Get client.
virtual void on_message_received()
Internal event handler.
sigc::signal< void, FawkesNetworkMessage * > signal_message_received()
Get "message received" signal.
virtual void deregistered(unsigned int id) noexcept
This handler has been deregistered.
virtual void inbound_received(FawkesNetworkMessage *m, unsigned int id) noexcept
Called for incoming messages.
sigc::signal< void > signal_disconnected()
Get "disconnected" signal.
virtual void on_connection_established()
Internal event handler.
virtual void connection_died(unsigned int id) noexcept
Client connection died.
Simple Fawkes network client.
void register_handler(FawkesNetworkClientHandler *handler, unsigned int component_id)
Register handler.
void deregister_handler(unsigned int component_id)
Deregister handler.
Representation of a message that is sent over the network.
void lock() const
Lock queue.
void unlock() const
Unlock list.
void unref()
Decrement reference count and conditionally delete this instance.
Fawkes library namespace.