X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fsignalproxy.h;h=755461e92795b036dd32b6d483e0005e767b6de2;hp=9243608ff9ee51b5450767fc2af4b6434d1b5250;hb=aa7841638c6537034102da959cad8c36853bf280;hpb=cc0cad583046c34cb1296329016e1834995d171d diff --git a/src/common/signalproxy.h b/src/common/signalproxy.h index 9243608f..755461e9 100644 --- a/src/common/signalproxy.h +++ b/src/common/signalproxy.h @@ -21,6 +21,7 @@ #ifndef SIGNALPROXY_H #define SIGNALPROXY_H +#include #include #include #include @@ -55,6 +56,16 @@ public: HeartBeatReply }; + enum ClientConnectionType { + SignalProxyConnection, + IODeviceConnection + }; + + enum CustomEvents { + PeerSignal = QEvent::User, + RemovePeer + }; + SignalProxy(QObject *parent); SignalProxy(ProxyMode mode, QObject *parent); SignalProxy(ProxyMode mode, QIODevice *device, QObject *parent); @@ -180,6 +191,8 @@ public: inline int peerCount() const { return _peers.size(); } private: + static void disconnectDevice(QIODevice *dev, const QString &reason = QString()); + class AbstractPeer { public: enum PeerType { @@ -227,16 +240,6 @@ private: // currently a communication object can either be an arbitrary QIODevice or another SignalProxy typedef QHash PeerHash; PeerHash _peers; - -// // Hash of used QIODevices -// struct peerInfo { -// quint32 byteCount; -// bool usesCompression; -// int sentHeartBeats; -// int lag; -// peerInfo() : byteCount(0), usesCompression(false), sentHeartBeats(0) {} -// }; -// QHash _peers; // containg a list of argtypes for fast access QHash _classInfo;