From 09e0fc185219e9e625baf096a68a221be55e0284 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Thu, 12 Jun 2008 22:08:16 +0200 Subject: Signalisiere empfangende Pakete. --- src/Net/Connection.cpp | 4 ++-- src/Net/Connection.h | 5 +++++ src/Net/Makefile.in | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src/Net') diff --git a/src/Net/Connection.cpp b/src/Net/Connection.cpp index 49b51b4..298eb3e 100644 --- a/src/Net/Connection.cpp +++ b/src/Net/Connection.cpp @@ -74,7 +74,7 @@ bool Connection::recieve() { continue; if(!header.length) { - Packet packet(header.type, header.requestId); + signal(this, Packet(header.type, header.requestId)); return true; } @@ -96,7 +96,7 @@ bool Connection::recieve() { if(read < header.length+sizeof(Packet::Data)) continue; - Packet packet(header.type, header.requestId, data, header.length); + signal(this, Packet(header.type, header.requestId, data, header.length)); delete [] data; data = 0; diff --git a/src/Net/Connection.h b/src/Net/Connection.h index 80b721f..f48ef20 100644 --- a/src/Net/Connection.h +++ b/src/Net/Connection.h @@ -21,6 +21,7 @@ #define MAD_NET_CONNECTION_H_ #include +#include #include "Packet.h" namespace Mad { @@ -36,6 +37,8 @@ class Connection { unsigned long read; + sigc::signal signal; + protected: virtual gnutls_session_t& getSession() = 0; @@ -51,6 +54,8 @@ class Connection { bool send(const Packet &packet); bool recieve(); + sigc::signal signalRecieve() const {return signal;} + static void init() { gnutls_global_init(); } diff --git a/src/Net/Makefile.in b/src/Net/Makefile.in index 4e7923a..83b718d 100644 --- a/src/Net/Makefile.in +++ b/src/Net/Makefile.in @@ -173,6 +173,8 @@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +sigc_CFLAGS = @sigc_CFLAGS@ +sigc_LIBS = @sigc_LIBS@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -- cgit v1.2.3