X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fsignalproxy.h;h=e98f6bfcff1dfed6c376d89a56c38cac743d8015;hp=a985d0dcdba79de4a8ac97a634e6ce807760008d;hb=2c4e055125a3e3ab7a2bd0d9c0ea33415f6ce7cc;hpb=a81619131cc9ddbd80f3528fc033e74d0e74cc66 diff --git a/src/common/signalproxy.h b/src/common/signalproxy.h index a985d0dc..e98f6bfc 100644 --- a/src/common/signalproxy.h +++ b/src/common/signalproxy.h @@ -83,7 +83,21 @@ public: * @param peerIds A list of peers that should receive it * @param closure Code you want to execute within of that restricted environment */ - void restrictTargetPeers(std::initializer_list peerIds, std::function closure); + void restrictTargetPeers(QSet peers, std::function closure); + void restrictTargetPeers(Peer *peer, std::function closure) { + QSet set; + set.insert(peer); + restrictTargetPeers(set, std::move(closure)); + } + + //A better version, but only implemented on Qt5 if Initializer Lists exist +#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) +#ifdef Q_COMPILER_INITIALIZER_LISTS + void restrictTargetPeers(std::initializer_list peers, std::function closure) { + restrictTargetPeers(QSet(peers), std::move(closure)); + } +#endif +#endif inline int peerCount() const { return _peers.size(); } QVariantList peerData();