+QVariantList SignalProxy::peerData() {
+ QVariantList result;
+ for (auto peer : _peerMap.values()) {
+ QVariantMap data;
+ data["id"] = peer->id();
+ data["clientVersion"] = peer->clientVersion();
+ // We explicitly rename this, as, due to the Debian reproducability changes, buildDate isn’t actually the build
+ // date anymore, but on newer clients the date of the last git commit
+ data["clientVersionDate"] = peer->buildDate();
+ data["remoteAddress"] = peer->address();
+ data["connectedSince"] = peer->connectedSince();
+ data["secure"] = peer->isSecure();
+ result << data;
+ }
+ return result;
+}
+
+Peer *SignalProxy::peerById(int peerId) {
+ return _peerMap[peerId];
+}
+
+void SignalProxy::restrictTargetPeers(QSet<Peer*> peers, std::function<void()> closure)
+{
+ auto previousRestrictMessageTarget = _restrictMessageTarget;
+ auto previousRestrictedTargets = _restrictedTargets;
+ _restrictMessageTarget = true;
+ _restrictedTargets = peers;
+
+ closure();
+
+ _restrictMessageTarget = previousRestrictMessageTarget;
+ _restrictedTargets = previousRestrictedTargets;
+}