From 5016d05093f2885fa5a88a54cd5ec6ce6df20428 Mon Sep 17 00:00:00 2001 From: Jeff Mitchell Date: Thu, 10 Feb 2011 14:32:36 -0500 Subject: [PATCH] Code cleanup, mainly to differentiate during connect between startup and non-startup --- src/libtomahawk/sip/SipPlugin.h | 2 +- src/libtomahawk/tomahawksettings.cpp | 6 ++++-- src/libtomahawk/tomahawksettings.h | 2 +- src/libtomahawk/utils/tomahawkutils.cpp | 7 ++++++- src/libtomahawk/utils/tomahawkutils.h | 5 +++++ src/sip/SipHandler.cpp | 4 ++-- src/sip/SipHandler.h | 2 +- src/sip/jabber/jabber.cpp | 12 ++++++------ src/sip/jabber/jabber.h | 2 +- src/sip/zeroconf/zeroconf.cpp | 2 +- src/sip/zeroconf/zeroconf.h | 2 +- src/tomahawkapp.cpp | 2 +- 12 files changed, 30 insertions(+), 18 deletions(-) diff --git a/src/libtomahawk/sip/SipPlugin.h b/src/libtomahawk/sip/SipPlugin.h index b0d046740..6b4f5cb5c 100644 --- a/src/libtomahawk/sip/SipPlugin.h +++ b/src/libtomahawk/sip/SipPlugin.h @@ -16,7 +16,7 @@ public: virtual ~SipPlugin() {} public slots: - virtual bool connect() = 0; + virtual bool connect( bool startup = false ) = 0; virtual void disconnect() = 0; virtual void addContact( const QString &jid, const QString& msg = QString() ) = 0; diff --git a/src/libtomahawk/tomahawksettings.cpp b/src/libtomahawk/tomahawksettings.cpp index 4630c49e3..cc6f4278c 100644 --- a/src/libtomahawk/tomahawksettings.cpp +++ b/src/libtomahawk/tomahawksettings.cpp @@ -241,16 +241,18 @@ TomahawkSettings::setJabberAutoConnect( bool autoconnect ) } -int +unsigned int TomahawkSettings::jabberPort() const { - return value( "jabber/port", 5222 ).toInt(); + return value( "jabber/port", 5222 ).toUInt(); } void TomahawkSettings::setJabberPort( int port ) { + if ( port < 0 ) + return; setValue( "jabber/port", port ); } diff --git a/src/libtomahawk/tomahawksettings.h b/src/libtomahawk/tomahawksettings.h index 65fcf4261..3959ec6e9 100644 --- a/src/libtomahawk/tomahawksettings.h +++ b/src/libtomahawk/tomahawksettings.h @@ -51,7 +51,7 @@ public: QString jabberServer() const; void setJabberServer( const QString& server ); - int jabberPort() const; // default is 5222 + unsigned int jabberPort() const; // default is 5222 void setJabberPort( int port ); /// Network settings diff --git a/src/libtomahawk/utils/tomahawkutils.cpp b/src/libtomahawk/utils/tomahawkutils.cpp index d298ffc23..30be6c397 100644 --- a/src/libtomahawk/utils/tomahawkutils.cpp +++ b/src/libtomahawk/utils/tomahawkutils.cpp @@ -337,7 +337,11 @@ DNSResolver::resolve( QString &host, QString &type ) if( type == "SRV" ) { // For the moment, assume we are looking for XMPP... - m_dnsSharedRequest->query( "_xmpp-client._tcp." + host.toUtf8(), QJDns::Srv ); + QString fullHost( "_xmpp-client._tcp." + host ); + + qDebug() << "Looking up SRV record for " << fullHost.toUtf8(); + + m_dnsSharedRequest->query( fullHost.toUtf8(), QJDns::Srv ); } else { @@ -354,6 +358,7 @@ DNSResolver::resultsReady() QList results = m_dnsSharedRequest->results(); foreach( QJDns::Record r, results ) { + qDebug() << "Found result (of some type): " << QString( r.name ); if( r.type == QJDns::Srv ) { QString foundResult( r.name ); diff --git a/src/libtomahawk/utils/tomahawkutils.h b/src/libtomahawk/utils/tomahawkutils.h index 2b8555fa6..0b002f4f1 100644 --- a/src/libtomahawk/utils/tomahawkutils.h +++ b/src/libtomahawk/utils/tomahawkutils.h @@ -18,6 +18,11 @@ class JDnsSharedRequest; namespace TomahawkUtils { + //NOTE: The JDnsShared system is supposed to allow you to make multiple requests + //at once, but either I'm a dumbass, or it's a broken paradigm, or both, + //because there's no way that I can see to tell what result is for what query. + //Be aware of this if ever we want to do parallel connections/lookups; turn it into + //a non-static non-singleton normal utility class then. class DLLEXPORT DNSResolver : public QObject { Q_OBJECT diff --git a/src/sip/SipHandler.cpp b/src/sip/SipHandler.cpp index 5d7e10cc9..9e72cb2e6 100644 --- a/src/sip/SipHandler.cpp +++ b/src/sip/SipHandler.cpp @@ -114,10 +114,10 @@ SipHandler::loadPlugin( QObject* plugin ) void -SipHandler::connect() +SipHandler::connect( bool startup ) { foreach( SipPlugin* sip, m_plugins ) - sip->connect(); + sip->connect( startup ); m_connected = true; } diff --git a/src/sip/SipHandler.h b/src/sip/SipHandler.h index b10847c44..1ae2b6592 100644 --- a/src/sip/SipHandler.h +++ b/src/sip/SipHandler.h @@ -19,7 +19,7 @@ public: public slots: void addContact( const QString& id ) { qDebug() << Q_FUNC_INFO << id; } - void connect(); + void connect( bool startup = false ); void disconnect(); void toggleConnect(); diff --git a/src/sip/jabber/jabber.cpp b/src/sip/jabber/jabber.cpp index 6748c0577..47e77f7ea 100644 --- a/src/sip/jabber/jabber.cpp +++ b/src/sip/jabber/jabber.cpp @@ -13,15 +13,15 @@ JabberPlugin::setProxy( QNetworkProxy* proxy ) bool -JabberPlugin::connect() +JabberPlugin::connect( bool startup ) { - if ( !TomahawkSettings::instance()->value( "jabber/autoconnect", true ).toBool() ) + if ( startup && !TomahawkSettings::instance()->jabberAutoConnect() ) return false; - QString jid = TomahawkSettings::instance()->value( "jabber/username" ).toString(); - QString server = TomahawkSettings::instance()->value( "jabber/server" ).toString(); - QString password = TomahawkSettings::instance()->value( "jabber/password" ).toString(); - unsigned int port = TomahawkSettings::instance()->value( "jabber/port", 5222 ).toUInt(); + QString jid = TomahawkSettings::instance()->jabberUsername(); + QString server = TomahawkSettings::instance()->jabberServer(); + QString password = TomahawkSettings::instance()->jabberPassword(); + unsigned int port = TomahawkSettings::instance()->jabberPort(); // gtalk check if( server.isEmpty() && ( jid.contains( "@gmail.com" ) || jid.contains( "@googlemail.com" ) ) ) diff --git a/src/sip/jabber/jabber.h b/src/sip/jabber/jabber.h index d294160d8..65ccaca3a 100644 --- a/src/sip/jabber/jabber.h +++ b/src/sip/jabber/jabber.h @@ -21,7 +21,7 @@ public: void setProxy( QNetworkProxy* proxy ); public slots: - virtual bool connect(); + virtual bool connect( bool startup ); void disconnect() { diff --git a/src/sip/zeroconf/zeroconf.cpp b/src/sip/zeroconf/zeroconf.cpp index 1462d5d45..702c7983b 100644 --- a/src/sip/zeroconf/zeroconf.cpp +++ b/src/sip/zeroconf/zeroconf.cpp @@ -4,7 +4,7 @@ bool -ZeroconfPlugin::connect() +ZeroconfPlugin::connect( bool /*startup*/ ) { delete m_zeroconf; m_zeroconf = new TomahawkZeroconf( Servent::instance()->port(), this ); diff --git a/src/sip/zeroconf/zeroconf.h b/src/sip/zeroconf/zeroconf.h index 6fad5c1a4..c347608ad 100644 --- a/src/sip/zeroconf/zeroconf.h +++ b/src/sip/zeroconf/zeroconf.h @@ -19,7 +19,7 @@ public: virtual ~ZeroconfPlugin() {} public slots: - virtual bool connect(); + virtual bool connect( bool startup ); void disconnect() { diff --git a/src/tomahawkapp.cpp b/src/tomahawkapp.cpp index b620e7649..7a3b2eb03 100644 --- a/src/tomahawkapp.cpp +++ b/src/tomahawkapp.cpp @@ -409,7 +409,7 @@ TomahawkApp::setupSIP() { m_xmppBot = new XMPPBot( this ); - m_sipHandler->connect(); + m_sipHandler->connect( true ); // m_sipHandler->setProxy( *TomahawkUtils::proxy() ); } }