summaryrefslogtreecommitdiffstats
path: root/src/Net/Signals/Connection.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Net/Signals/Connection.h')
-rw-r--r--src/Net/Signals/Connection.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/Net/Signals/Connection.h b/src/Net/Signals/Connection.h
index 0e66611..7730e13 100644
--- a/src/Net/Signals/Connection.h
+++ b/src/Net/Signals/Connection.h
@@ -20,22 +20,30 @@
#ifndef MAD_NET_SIGNALS_CONNECTION_H_
#define MAD_NET_SIGNALS_CONNECTION_H_
-#include <boost/signals/connection.hpp>
-
namespace Mad {
namespace Net {
namespace Signals {
-template <typename SignalType, typename FunctionType> class SignalBase;
+class SignalBase;
class Connection {
private:
- template <typename SignalType, typename FunctionType> friend class SignalBase;
+ friend class SignalBase;
+
+ SignalBase *signal;
+ unsigned long id;
+
+ Connection(SignalBase *signal0, unsigned long id0)
+ : signal(signal0), id(id0) {}
- boost::signals::connection connection;
+ public:
+ bool operator==(const Connection &o) const {
+ return (signal == o.signal && id == o.id);
+ }
- Connection(const boost::signals::connection &connection0)
- : connection(connection0) {}
+ bool operator<(const Connection &o) const {
+ return (signal != o.signal) ? (signal < o.signal) : (id < o.id);
+ }
};
}