X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcontrib%2Flibqxt-2007-10-24%2Fsrc%2Fnetwork%2Fqxtrpcpeer.cpp;fp=src%2Fcontrib%2Fqxt%2Fqxtrpcpeer.cpp;h=58a6bf9ade0c0487466d7a98c0628073e064bc66;hp=661d7761456a5ead0e356d3faef362f1120e74b4;hb=a634acadbcf6017474f68a3eaf7cb632660e9e49;hpb=cd122ca8e0d2c0ffc5397e0a813c75d791a7e6e3 diff --git a/src/contrib/qxt/qxtrpcpeer.cpp b/src/contrib/libqxt-2007-10-24/src/network/qxtrpcpeer.cpp similarity index 95% rename from src/contrib/qxt/qxtrpcpeer.cpp rename to src/contrib/libqxt-2007-10-24/src/network/qxtrpcpeer.cpp index 661d7761..58a6bf9a 100644 --- a/src/contrib/qxt/qxtrpcpeer.cpp +++ b/src/contrib/libqxt-2007-10-24/src/network/qxtrpcpeer.cpp @@ -126,7 +126,6 @@ QxtRPCPeer::QxtRPCPeer(QIODevice* device, RPCTypes type, QObject* parent) : QObj QXT_INIT_PRIVATE(QxtRPCPeer); qxt_d().m_rpctype = type; qxt_d().m_peer = device; - //qDebug() << device->metaObject()->className(); if (qobject_cast(device)!=0) { @@ -281,7 +280,7 @@ bool QxtRPCPeer::attachSignal(QObject* sender, const char* signal, const QByteAr { if (QxtMetaObject::isSignalOrSlot(rpcFunction.constData())) { - spec->rpcFunction = QMetaObject::normalizedSignature(rpcFunction.constData()); + spec->rpcFunction = QMetaObject::normalizedSignature(rpcFunction); } else { @@ -363,15 +362,15 @@ QByteArray QxtRPCPeer::serialize(QString fn, QVariant p1, QVariant p2, QVariant else if (p8.isNull()) ct = 7; else if (p9.isNull()) ct = 8; str << ct; - if (ct--) str << p1; - if (ct--) str << p2; - if (ct--) str << p3; - if (ct--) str << p4; - if (ct--) str << p5; - if (ct--) str << p6; - if (ct--) str << p7; - if (ct--) str << p8; - if (ct--) str << p9; + if (ct-- >0 ) str << p1; + if (ct-- >0) str << p2; + if (ct-- >0) str << p3; + if (ct-- >0) str << p4; + if (ct-- >0) str << p5; + if (ct-- >0) str << p6; + if (ct-- >0) str << p7; + if (ct-- >0) str << p8; + if (ct-- >0) str << p9; rv.replace(QByteArray("\\"), QByteArray("\\\\")); rv.replace(QByteArray("\n"), QByteArray("\\n")); rv.append("\n"); @@ -425,20 +424,21 @@ void QxtRPCPeer::callClientsExcept(quint64 id, QString fn, QVariant p1, QVariant callClientList(cs, fn, p1, p2, p3, p4, p5, p6, p7, p8); } -#include + #define QXT_ARG(i) ((numParams>i)?QGenericArgument(p ## i .typeName(), p ## i .constData()):QGenericArgument()) void QxtRPCPeerPrivate::receivePeerSignal(QString fn, QVariant p0, QVariant p1, QVariant p2, QVariant p3, QVariant p4, QVariant p5, QVariant p6, QVariant p7, QVariant p8) const { QByteArray sig; int numParams; - if(!attachedSlots.value(fn).count()) qDebug() << "no attached slot for signal" << fn;// qDebug() << attachedSlots; foreach(QxtRPCPeerPrivate::MethodID i, attachedSlots.value(fn)) { sig = i.first->metaObject()->method(i.second).signature(); sig = sig.left(sig.indexOf('(')); - numParams = i.first->metaObject()->method(i.second).parameterTypes().count(); //qDebug() << "calling" << fn << p0 << p1 << p2; - bool res = QMetaObject::invokeMethod(i.first, sig, QXT_ARG(0), QXT_ARG(1), QXT_ARG(2), QXT_ARG(3), QXT_ARG(4), QXT_ARG(5), QXT_ARG(6), QXT_ARG(7), QXT_ARG(8)); - if(!res) qDebug() << "rpccall failed" << fn << sig << p0 << p1 << p2; + numParams = i.first->metaObject()->method(i.second).parameterTypes().count(); + if(!QMetaObject::invokeMethod(i.first, sig, QXT_ARG(0), QXT_ARG(1), QXT_ARG(2), QXT_ARG(3), QXT_ARG(4), QXT_ARG(5), QXT_ARG(6), QXT_ARG(7), QXT_ARG(8))) + { + qWarning("QxtRPCPeerPrivate::receivePeerSignal: invokeMethod for \"%s\" failed ",sig.constData()); + } } } @@ -452,7 +452,10 @@ void QxtRPCPeerPrivate::receiveClientSignal(quint64 id, QString fn, QVariant p0, sig = i.first->metaObject()->method(i.second).signature(); sig = sig.left(sig.indexOf('(')); numParams = i.first->metaObject()->method(i.second).parameterTypes().count(); - QMetaObject::invokeMethod(i.first, sig, Q_ARG(quint64, id), QXT_ARG(0), QXT_ARG(1), QXT_ARG(2), QXT_ARG(3), QXT_ARG(4), QXT_ARG(5), QXT_ARG(6), QXT_ARG(7)); + if(!QMetaObject::invokeMethod(i.first, sig, Q_ARG(quint64, id), QXT_ARG(0), QXT_ARG(1), QXT_ARG(2), QXT_ARG(3), QXT_ARG(4), QXT_ARG(5), QXT_ARG(6), QXT_ARG(7))) + { + qWarning("QxtRPCPeerPrivate::receiveClientSignal: invokeMethod for \"%s\" failed ",sig.constData()); + } } } @@ -524,8 +527,7 @@ void QxtRPCPeer::disconnectSender() QxtRPCConnection* conn = qxt_d().m_clients.value(sender()); if (!conn) { - //qDebug() << qxt_d().m_peer->metaObject()->className(); - if (qxt_d().m_peer!= qobject_cast(sender())) + if (qxt_d().m_peer!= qobject_cast(sender())) { qWarning() << "QxtRPCPeer: Unrecognized object connected to disconnectSender"; return;