1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-01 03:40:16 +02:00

Fix some bonehead issues

This commit is contained in:
Jeff Mitchell
2011-02-12 18:51:44 -05:00
parent ecf436534a
commit 5389268391

View File

@@ -159,14 +159,16 @@ TwitterPlugin::friendsTimelineStatuses( const QList< QTweetStatus > &statuses )
if ( regex.exactMatch( status.text() ) ) if ( regex.exactMatch( status.text() ) )
{ {
qDebug() << "TwitterPlugin found an exact tweet from friend " << status.user().screenName(); qDebug() << "TwitterPlugin found an exact tweet from friend " << status.user().screenName();
QHash<QString, QVariant> peerData;
if ( !m_cachedPeers.contains( status.user().screenName() ) ) if ( !m_cachedPeers.contains( status.user().screenName() ) )
{ {
QHash< QString, QVariant > peerData; QHash< QString, QVariant > peerData;
QString okey = QUuid::createUuid().toString().split( '-' ).last(); QString okey = QUuid::createUuid().toString().split( '-' ).last();
okey.chop( 1 ); okey.chop( 1 );
peerData["okey"] = QVariant::fromValue< QString >( okey ); 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, "sendOffer", Q_ARG( QString, status.user().screenName() ), QGenericArgument( "QHash< QString, QVariant >", (const void*)&peerData ) );
m_cachedPeers[status.user().screenName()] = QVariant::fromValue< QHash< QString, QVariant > >( peerData );
peersChanged = true; peersChanged = true;
} }
} }
@@ -199,7 +201,10 @@ TwitterPlugin::mentionsStatuses( const QList< QTweetStatus > &statuses )
QString okey = QUuid::createUuid().toString().split( '-' ).last(); QString okey = QUuid::createUuid().toString().split( '-' ).last();
okey.chop( 1 ); okey.chop( 1 );
peerData["okey"] = QVariant::fromValue< QString >( okey ); 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, "sendOffer", Q_ARG( QString, status.user().screenName() ), QGenericArgument( "QHash< QString, QVariant >", (const void*)&peerData ) );
m_cachedPeers[status.user().screenName()] = QVariant::fromValue< QHash< QString, QVariant > >( peerData );
peersChanged = true; peersChanged = true;
} }
} }
@@ -280,45 +285,45 @@ TwitterPlugin::directMessages( const QList< QTweetDMStatus > &messages )
} }
void void
TwitterPlugin::makeConnection( const QString &screenName, const QHash< QString, QVariant > &peerdata ) TwitterPlugin::makeConnection( const QString &screenName, const QHash< QString, QVariant > &peerData )
{ {
qDebug() << Q_FUNC_INFO; qDebug() << Q_FUNC_INFO;
if ( !peerdata.contains( "node" ) || !peerdata.contains( "host" ) || !peerdata.contains( "port" ) || !peerdata.contains( "pkey" ) ) if ( !peerData.contains( "node" ) || !peerData.contains( "host" ) || !peerData.contains( "port" ) || !peerData.contains( "pkey" ) )
{ {
qDebug() << "Could not find node and/or host and/or port and/or pkey for peer " << screenName; qDebug() << "Could not find node and/or host and/or port and/or pkey for peer " << screenName;
return; return;
} }
if ( !Servent::instance()->connectedToSession( peerdata["node"].toString() ) ) if ( !Servent::instance()->connectedToSession( peerData["node"].toString() ) )
Servent::instance()->connectToPeer( peerdata["host"].toString(), Servent::instance()->connectToPeer( peerData["host"].toString(),
peerdata["port"].toString().toInt(), peerData["port"].toString().toInt(),
peerdata["pkey"].toString(), peerData["pkey"].toString(),
QString( '@' + peerdata["screenname"].toString() ), QString( '@' + peerData["screenname"].toString() ),
peerdata["node"].toString() ); peerData["node"].toString() );
} }
void void
TwitterPlugin::registerOffer( const QString &screenName, const QHash< QString, QVariant > &peerdata ) TwitterPlugin::registerOffer( const QString &screenName, const QHash< QString, QVariant > &peerData )
{ {
qDebug() << Q_FUNC_INFO; qDebug() << Q_FUNC_INFO;
if ( !peerdata.contains( "node" ) || !peerdata.contains( "okey" ) ) if ( !peerData.contains( "node" ) || !peerData.contains( "okey" ) )
{ {
qDebug() << "Could not find node and/or okey for peer " << screenName; qDebug() << "Could not find node and/or okey for peer " << screenName;
return; return;
} }
qDebug() << "TwitterPlugin registering offer to " << QString( '@' + screenName ) << " with node " << peerdata["node"].toString() << " and offeredkey " << peerdata["okey"].toString(); 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() ); Servent::instance()->createConnectionKey( QString( '@' + screenName ), peerData["node"].toString(), peerData["okey"].toString() );
if ( peerdata.contains( "node" ) && peerdata.contains( "host" ) && peerdata.contains( "port" ) && peerdata.contains( "pkey" ) ) 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 ) ); QMetaObject::invokeMethod( this, "makeConnection", Q_ARG( QString, screenName ), QGenericArgument( "QHash< QString, QVariant >", (const void*)&peerData ) );
} }
void void
TwitterPlugin::sendOffer( const QString &screenName, const QHash< QString, QVariant > &peerdata ) TwitterPlugin::sendOffer( const QString &screenName, const QHash< QString, QVariant > &peerData )
{ {
qDebug() << Q_FUNC_INFO; qDebug() << Q_FUNC_INFO;
QString offerString = QString( "TOMAHAWKPEER:Host=%1:Port=%2:Node=%3:PKey=%4" ).arg( Servent::instance()->externalAddress() ) QString offerString = QString( "TOMAHAWKPEER:Host=%1:Port=%2:Node=%3:PKey=%4" ).arg( Servent::instance()->externalAddress() )
.arg( Servent::instance()->externalPort() ) .arg( Servent::instance()->externalPort() )
.arg( Database::instance()->dbid() ) .arg( Database::instance()->dbid() )
.arg( peerdata["okey"].toString() ); .arg( peerData["okey"].toString() );
qDebug() << "Sending message to " << screenName << ": " << offerString; qDebug() << "Sending message to " << screenName << ": " << offerString;
if( !m_directMessageNew.isNull() ) if( !m_directMessageNew.isNull() )
m_directMessageNew.data()->post( screenName, offerString ); m_directMessageNew.data()->post( screenName, offerString );