X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fsignalproxy.h;h=dce008ab15140b6c68bb5972bff59c55e1bc0315;hb=c1722505b4906fe59c48aad54e6545a17afb78d7;hp=97efc2d79c6c4a77d11af0c78faf2d20691aa72d;hpb=e25b94c06eb263f175361a8517599adb2b8588ed;p=quassel.git diff --git a/src/common/signalproxy.h b/src/common/signalproxy.h index 97efc2d7..dce008ab 100644 --- a/src/common/signalproxy.h +++ b/src/common/signalproxy.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2016 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -78,6 +78,9 @@ public: void dumpProxyStats(); void dumpSyncMap(SyncableObject *object); inline int peerCount() const { return _peers.size(); } + QVariantList peerData(); + + Peer *peerById(int peerId); public slots: void detachObject(QObject *obj); @@ -117,6 +120,10 @@ private: void removePeer(Peer *peer); void removeAllPeers(); + int nextPeerId() { + return _lastPeerId++; + } + template void dispatch(const T &protoMessage); template @@ -140,6 +147,7 @@ private: static void disconnectDevice(QIODevice *dev, const QString &reason = QString()); QSet _peers; + QHash _peerMap; // containg a list of argtypes for fast access QHash _extendedMetaObjects; @@ -162,6 +170,8 @@ private: bool _secure; // determines if all connections are in a secured state (using ssl or internal connections) + int _lastPeerId = 0; + friend class SignalRelay; friend class SyncableObject; friend class Peer;