From 12555372d65354935c796ee0710794f4788541d5 Mon Sep 17 00:00:00 2001 From: Jeff Mitchell Date: Sat, 12 Feb 2011 21:33:26 -0500 Subject: [PATCH] Actually register offers... --- src/sip/twitter/twitter.cpp | 18 ++++++++++-------- src/sip/twitter/twitter.h | 2 +- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/sip/twitter/twitter.cpp b/src/sip/twitter/twitter.cpp index e6bb6d92d..6c54b2993 100644 --- a/src/sip/twitter/twitter.cpp +++ b/src/sip/twitter/twitter.cpp @@ -64,7 +64,7 @@ TwitterPlugin::connectPlugin( bool /*startup*/ ) foreach( QString screenName, peerlist ) { QHash< QString, QVariant > cachedPeer = m_cachedPeers[screenName].toHash(); - QMetaObject::invokeMethod( this, "registerOffer", Q_ARG( QString, screenName ), QGenericArgument( "QHash< QString, QVariant >", (const void*)&cachedPeer ) ); + QMetaObject::invokeMethod( this, "registerOffer", Q_ARG( QString, screenName ), QGenericArgument( "QHash< QString, QVariant >", (const void*)&cachedPeer ), Q_ARG( bool, false ) ); } if ( settings->twitterOAuthToken().isEmpty() || settings->twitterOAuthTokenSecret().isEmpty() ) @@ -178,7 +178,7 @@ TwitterPlugin::connectTimerFired() { peerData["ohst"] = QVariant::fromValue< QString >( Servent::instance()->externalAddress() ); peerData["oprt"] = QVariant::fromValue< int >( Servent::instance()->externalPort() ); - QMetaObject::invokeMethod( this, "sendOffer", Q_ARG( QString, screenName ), QGenericArgument( "QHash< QString, QVariant >", (const void*)&peerData ) ); + QMetaObject::invokeMethod( this, "registerOffer", Q_ARG( QString, screenName ), QGenericArgument( "QHash< QString, QVariant >", (const void*)&peerData ), Q_ARG( bool, true ) ); m_cachedPeers[screenName] = QVariant::fromValue< QHash< QString, QVariant > >( peerData ); peersChanged = true; @@ -215,7 +215,7 @@ TwitterPlugin::friendsTimelineStatuses( const QList< QTweetStatus > &statuses ) peerData["okey"] = QVariant::fromValue< QString >( okey ); peerData["ohst"] = QVariant::fromValue< QString >( Servent::instance()->externalAddress() ); peerData["oprt"] = QVariant::fromValue< int >( Servent::instance()->externalPort() ); - QMetaObject::invokeMethod( this, "sendOffer", Q_ARG( QString, status.user().screenName() ), QGenericArgument( "QHash< QString, QVariant >", (const void*)&peerData ) ); + QMetaObject::invokeMethod( this, "registerOffer", Q_ARG( QString, status.user().screenName() ), QGenericArgument( "QHash< QString, QVariant >", (const void*)&peerData ), Q_ARG( bool, true ) ); m_cachedPeers[status.user().screenName()] = QVariant::fromValue< QHash< QString, QVariant > >( peerData ); peersChanged = true; } @@ -254,7 +254,7 @@ TwitterPlugin::mentionsStatuses( const QList< QTweetStatus > &statuses ) peerData["okey"] = QVariant::fromValue< QString >( okey ); peerData["ohst"] = QVariant::fromValue< QString >( Servent::instance()->externalAddress() ); peerData["oprt"] = QVariant::fromValue< int >( Servent::instance()->externalPort() ); - QMetaObject::invokeMethod( this, "sendOffer", Q_ARG( QString, status.user().screenName() ), QGenericArgument( "QHash< QString, QVariant >", (const void*)&peerData ) ); + QMetaObject::invokeMethod( this, "registerOffer", Q_ARG( QString, status.user().screenName() ), QGenericArgument( "QHash< QString, QVariant >", (const void*)&peerData ), Q_ARG( bool, true ) ); m_cachedPeers[status.user().screenName()] = QVariant::fromValue< QHash< QString, QVariant > >( peerData ); peersChanged = true; } @@ -329,7 +329,7 @@ TwitterPlugin::directMessages( const QList< QTweetDMStatus > &messages ) m_cachedPeers[status.senderScreenName()] = QVariant::fromValue< QHash< QString, QVariant > >( peerData ); peersChanged = true; - QMetaObject::invokeMethod( this, "registerOffer", Q_ARG( QString, status.senderScreenName() ), QGenericArgument( "QHash< QString, QVariant >", (const void*)&peerData ) ); + QMetaObject::invokeMethod( this, "registerOffer", Q_ARG( QString, status.senderScreenName() ), QGenericArgument( "QHash< QString, QVariant >", (const void*)&peerData ), Q_ARG( bool, true ) ); if ( !m_directMessageDestroy.isNull() ) m_directMessageDestroy.data()->destroyMessage( status.id() ); } @@ -357,7 +357,7 @@ TwitterPlugin::makeConnection( const QString &screenName, const QHash< QString, } void -TwitterPlugin::registerOffer( const QString &screenName, const QHash< QString, QVariant > &peerData ) +TwitterPlugin::registerOffer( const QString &screenName, const QHash< QString, QVariant > &peerData, bool sendOffer ) { qDebug() << Q_FUNC_INFO; if ( !peerData.contains( "node" ) || !peerData.contains( "okey" ) ) @@ -367,6 +367,8 @@ TwitterPlugin::registerOffer( const QString &screenName, const QHash< QString, Q } qDebug() << "TwitterPlugin registering offer to " << QString( '@' + screenName ) << " with node " << peerData["node"].toString() << " and offeredkey " << peerData["okey"].toString(); Servent::instance()->createConnectionKey( QString( '@' + screenName ), peerData["node"].toString(), peerData["okey"].toString() ); + if ( sendOffer ) + QMetaObject::invokeMethod( this, "sendOffer", Q_ARG( QString, screenName ), QGenericArgument( "QHash< QString, QVariant >", (const void*)&peerData ) ); if ( peerData.contains( "node" ) && peerData.contains( "host" ) && peerData.contains( "port" ) && peerData.contains( "pkey" ) ) QMetaObject::invokeMethod( this, "makeConnection", Q_ARG( QString, screenName ), QGenericArgument( "QHash< QString, QVariant >", (const void*)&peerData ) ); } @@ -375,8 +377,8 @@ void TwitterPlugin::sendOffer( const QString &screenName, const QHash< QString, QVariant > &peerData ) { qDebug() << Q_FUNC_INFO; - QString offerString = QString( "TOMAHAWKPEER:Host=%1:Port=%2:Node=%3:PKey=%4" ).arg( Servent::instance()->externalAddress() ) - .arg( Servent::instance()->externalPort() ) + QString offerString = QString( "TOMAHAWKPEER:Host=%1:Port=%2:Node=%3:PKey=%4" ).arg( peerData["ohst"].toString() ) + .arg( peerData["oprt"].toString() ) .arg( Database::instance()->dbid() ) .arg( peerData["okey"].toString() ); qDebug() << "TwitterPlugin sending message to " << screenName << ": " << offerString; diff --git a/src/sip/twitter/twitter.h b/src/sip/twitter/twitter.h index c9b7f365f..d36af1a3b 100644 --- a/src/sip/twitter/twitter.h +++ b/src/sip/twitter/twitter.h @@ -60,7 +60,7 @@ private slots: void directMessagePosted( const QTweetDMStatus &message ); void directMessagePostError( QTweetNetBase::ErrorCode errorCode, const QString &message ); void directMessageDestroyed( const QTweetDMStatus &message ); - void registerOffer( const QString &screenName, const QHash< QString, QVariant > &peerdata ); + void registerOffer( const QString &screenName, const QHash< QString, QVariant > &peerdata, bool sendOffer ); void sendOffer( const QString &screenName, const QHash< QString, QVariant > &peerdata ); void makeConnection( const QString &screenName, const QHash< QString, QVariant > &peerdata );