24 #include <gui_utils/connection_dispatcher.h> 25 #include <netcomm/fawkes/client.h> 46 __client_owned =
true;
59 unsigned short int port,
65 __client_owned =
true;
78 ConnectionDispatcher::connect_signals()
113 if ( __client_owned ) {
116 __client_owned =
false;
136 ConnectionDispatcher::operator bool()
138 return (__client && __client->
connected());
148 __signal_connected.emit();
158 __signal_disconnected.emit();
168 __queue_message_received.
lock();
169 while (! __queue_message_received.empty()) {
171 __signal_message_received.emit(msg);
173 __queue_message_received.pop();
175 __queue_message_received.
unlock();
191 __dispatcher_message_received();
198 __dispatcher_disconnected();
205 __dispatcher_connected();
214 sigc::signal<void, FawkesNetworkMessage *>
217 return __signal_message_received;
228 return __signal_connected;
240 return __signal_disconnected;
sigc::signal< void > signal_disconnected()
Get "disconnected" signal.
sigc::signal< void > signal_connected()
Get "connected" signal.
Simple Fawkes network client.
void unref()
Decrement reference count and conditionally delete this instance.
void unlock() const
Unlock list.
Fawkes library namespace.
void register_handler(FawkesNetworkClientHandler *handler, unsigned int component_id)
Register handler.
Representation of a message that is sent over the network.
void set_client(FawkesNetworkClient *client)
Set Fawkes network client.
ConnectionDispatcher(unsigned int cid=FAWKES_CID_OBSERVER_MODE)
Constructor.
virtual void inbound_received(FawkesNetworkMessage *m, unsigned int id)
Called for incoming messages.
virtual void on_message_received()
Internal event handler.
virtual void on_connection_died()
Internal event handler.
virtual void connection_established(unsigned int id)
Client has established a connection.
void set_cid(unsigned int cid)
Set component ID.
virtual void connection_died(unsigned int id)
Client connection died.
virtual ~ConnectionDispatcher()
Destructor.
void push_locked(const Type &x)
Push element to queue with lock protection.
void lock() const
Lock queue.
virtual void on_connection_established()
Internal event handler.
void deregister_handler(unsigned int component_id)
Deregister handler.
sigc::signal< void, FawkesNetworkMessage * > signal_message_received()
Get "message received" signal.
bool connected() const
Check if connection is alive.
FawkesNetworkClient * get_client()
Get client.
virtual void deregistered(unsigned int id)
This handler has been deregistered.