/***************************************************************************
- * Copyright (C) 2005-2015 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 *
for (int i = 0; i < argTypes.size(); i++) {
if (argTypes[i] == 0) {
#if QT_VERSION >= 0x050000
- qWarning() << "SignalRelay::qt_metacall(): received invalid data for argument number" << i << "of signal" << QString("%1::%2").arg(caller->metaObject()->className()).arg(caller->metaObject()->method(_id).methodSignature().constData());
+ qWarning() << "SignalRelay::qt_metacall(): received invalid data for argument number" << i << "of signal" << QString("%1::%2").arg(caller->metaObject()->className()).arg(caller->metaObject()->method(signal.signalId).methodSignature().constData());
#else
- qWarning() << "SignalRelay::qt_metacall(): received invalid data for argument number" << i << "of signal" << QString("%1::%2").arg(caller->metaObject()->className()).arg(caller->metaObject()->method(_id).signature());
+ qWarning() << "SignalRelay::qt_metacall(): received invalid data for argument number" << i << "of signal" << QString("%1::%2").arg(caller->metaObject()->className()).arg(caller->metaObject()->method(signal.signalId).signature());
#endif
qWarning() << " - make sure all your data types are known by the Qt MetaSystem";
return _id;
if (!peer->parent())
peer->setParent(this);
+ if (peer->_id < 0) {
+ peer->_id = nextPeerId();
+ peer->_connectedSince = QDateTime::currentDateTimeUtc();
+ }
+
_peers.insert(peer);
+ _peerMap[peer->_id] = peer;
peer->setSignalProxy(this);
disconnect(peer, 0, this, 0);
peer->setSignalProxy(0);
+ _peerMap.remove(peer->_id);
_peers.remove(peer);
emit peerRemoved(peer);
emit secureStateChanged(_secure);
}
+QVariantList SignalProxy::peerData() {
+ QVariantList result;
+ for (auto peer : _peers) {
+ QVariantMap data;
+ data["id"] = peer->_id;
+ data["clientVersion"] = peer->_clientVersion;
+ 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];
+}
+
// ==================================================
// ExtendedMetaObject