modernize: Replace most remaining old-style connects by PMF ones
[quassel.git] / src / common / internalpeer.cpp
index 4180b76..b538d2a 100644 (file)
@@ -19,6 +19,7 @@
  ***************************************************************************/
 
 #include "internalpeer.h"
+#include "util.h"
 
 using namespace Protocol;
 
@@ -26,6 +27,7 @@ InternalPeer::InternalPeer(QObject *parent)
     : Peer(nullptr, parent)
 {
     static bool registered = []() {
+        qRegisterMetaType<QPointer<InternalPeer>>();
         qRegisterMetaType<Protocol::SyncMessage>();
         qRegisterMetaType<Protocol::RpcCall>();
         qRegisterMetaType<Protocol::InitRequest>();
@@ -66,7 +68,7 @@ quint16 InternalPeer::port() const
 
 bool InternalPeer::isOpen() const
 {
-    return true;
+    return _isOpen;
 }
 
 
@@ -84,9 +86,8 @@ bool InternalPeer::isLocal() const
 
 void InternalPeer::close(const QString &reason)
 {
-    // FIXME
-    Q_UNUSED(reason)
-    qWarning() << "closing not implemented!";
+    Q_UNUSED(reason);
+    _isOpen = false;
 }
 
 
@@ -115,6 +116,7 @@ void InternalPeer::setSignalProxy(::SignalProxy *proxy)
 
     if (proxy && !_proxy) {
         _proxy = proxy;
+        _isOpen = true;
         return;
     }
 
@@ -124,12 +126,16 @@ void InternalPeer::setSignalProxy(::SignalProxy *proxy)
 
 void InternalPeer::setPeer(InternalPeer *peer)
 {
-    connect(peer, SIGNAL(dispatchMessage(Protocol::SyncMessage)), SLOT(handleMessage(Protocol::SyncMessage)));
-    connect(peer, SIGNAL(dispatchMessage(Protocol::RpcCall))    , SLOT(handleMessage(Protocol::RpcCall)));
-    connect(peer, SIGNAL(dispatchMessage(Protocol::InitRequest)), SLOT(handleMessage(Protocol::InitRequest)));
-    connect(peer, SIGNAL(dispatchMessage(Protocol::InitData))   , SLOT(handleMessage(Protocol::InitData)));
+    connect(peer, selectOverload<const Protocol::SyncMessage&>(&InternalPeer::dispatchMessage),
+            this, selectOverload<const Protocol::SyncMessage&>(&InternalPeer::handleMessage));
+    connect(peer, selectOverload<const Protocol::RpcCall&>(&InternalPeer::dispatchMessage),
+            this, selectOverload<const Protocol::RpcCall&>(&InternalPeer::handleMessage));
+    connect(peer, selectOverload<const Protocol::InitRequest&>(&InternalPeer::dispatchMessage),
+            this, selectOverload<const Protocol::InitRequest&>(&InternalPeer::handleMessage));
+    connect(peer, selectOverload<const Protocol::InitData&>(&InternalPeer::dispatchMessage),
+            this, selectOverload<const Protocol::InitData&>(&InternalPeer::handleMessage));
 
-    connect(peer, SIGNAL(disconnected()), SLOT(peerDisconnected()));
+    connect(peer, &Peer::disconnected, this, &InternalPeer::peerDisconnected);
 
     _isOpen = true;
 }