From 0f8635d83392843a3fd419f5e195ea1a61233b89 Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Sat, 25 May 2013 16:06:14 +0200 Subject: [PATCH] Remove qjson from some public headers --- src/libtomahawk/CMakeLists.txt | 1 + src/libtomahawk/GlobalActionManager.cpp | 2 ++ src/libtomahawk/SourceList.cpp | 2 ++ .../accounts/spotify/SpotifyInfoPlugin.cpp | 2 ++ ...baseCommand_SetDynamicPlaylistRevision.cpp | 2 ++ .../DatabaseCommand_SetPlaylistRevision.cpp | 3 +++ src/libtomahawk/network/Connection.cpp | 2 ++ src/libtomahawk/network/Connection.h | 5 ----- src/libtomahawk/network/Msg.cpp | 17 ++++++++++++++++ src/libtomahawk/network/Msg.h | 20 ++----------------- src/libtomahawk/network/Servent.cpp | 7 ++++++- src/libtomahawk/network/Servent.h | 13 +++++++----- 12 files changed, 47 insertions(+), 29 deletions(-) create mode 100644 src/libtomahawk/network/Msg.cpp diff --git a/src/libtomahawk/CMakeLists.txt b/src/libtomahawk/CMakeLists.txt index 61e0fb26c..8de2e469e 100644 --- a/src/libtomahawk/CMakeLists.txt +++ b/src/libtomahawk/CMakeLists.txt @@ -306,6 +306,7 @@ list(APPEND libSources network/Servent.cpp network/Connection.cpp network/ControlConnection.cpp + network/Msg.cpp playlist/PlaylistUpdaterInterface.cpp playlist/dynamic/DynamicPlaylist.cpp diff --git a/src/libtomahawk/GlobalActionManager.cpp b/src/libtomahawk/GlobalActionManager.cpp index 38f8542a5..bd6102352 100644 --- a/src/libtomahawk/GlobalActionManager.cpp +++ b/src/libtomahawk/GlobalActionManager.cpp @@ -41,6 +41,8 @@ #include "utils/ShortenedLinkParser.h" #include "utils/RdioParser.h" +#include + #ifndef ENABLE_HEADLESS #include "ViewManager.h" #include "playlist/PlaylistView.h" diff --git a/src/libtomahawk/SourceList.cpp b/src/libtomahawk/SourceList.cpp index 90b687e8e..619d73095 100644 --- a/src/libtomahawk/SourceList.cpp +++ b/src/libtomahawk/SourceList.cpp @@ -30,6 +30,8 @@ #include "utils/Logger.h" +#include + using namespace Tomahawk; SourceList* SourceList::s_instance = 0; diff --git a/src/libtomahawk/accounts/spotify/SpotifyInfoPlugin.cpp b/src/libtomahawk/accounts/spotify/SpotifyInfoPlugin.cpp index ead27cba6..3c3fae413 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyInfoPlugin.cpp +++ b/src/libtomahawk/accounts/spotify/SpotifyInfoPlugin.cpp @@ -22,6 +22,8 @@ #include "utils/Closure.h" #include "utils/Logger.h" +#include + using namespace Tomahawk; using namespace Tomahawk::InfoSystem; diff --git a/src/libtomahawk/database/DatabaseCommand_SetDynamicPlaylistRevision.cpp b/src/libtomahawk/database/DatabaseCommand_SetDynamicPlaylistRevision.cpp index d4665b342..01259df3e 100644 --- a/src/libtomahawk/database/DatabaseCommand_SetDynamicPlaylistRevision.cpp +++ b/src/libtomahawk/database/DatabaseCommand_SetDynamicPlaylistRevision.cpp @@ -26,6 +26,8 @@ #include "network/Servent.h" #include "utils/Logger.h" +#include + #include DatabaseCommand_SetDynamicPlaylistRevision::DatabaseCommand_SetDynamicPlaylistRevision( const Tomahawk::source_ptr& s, diff --git a/src/libtomahawk/database/DatabaseCommand_SetPlaylistRevision.cpp b/src/libtomahawk/database/DatabaseCommand_SetPlaylistRevision.cpp index add79ce73..d1cb45670 100644 --- a/src/libtomahawk/database/DatabaseCommand_SetPlaylistRevision.cpp +++ b/src/libtomahawk/database/DatabaseCommand_SetPlaylistRevision.cpp @@ -26,6 +26,9 @@ #include "network/Servent.h" #include "utils/Logger.h" +#include +#include + using namespace Tomahawk; diff --git a/src/libtomahawk/network/Connection.cpp b/src/libtomahawk/network/Connection.cpp index 511bcaa3c..f227ecdaa 100644 --- a/src/libtomahawk/network/Connection.cpp +++ b/src/libtomahawk/network/Connection.cpp @@ -23,6 +23,8 @@ #include "utils/Logger.h" #include "Source.h" +#include + #include #include diff --git a/src/libtomahawk/network/Connection.h b/src/libtomahawk/network/Connection.h index ba8d92e28..48dd77c38 100644 --- a/src/libtomahawk/network/Connection.h +++ b/src/libtomahawk/network/Connection.h @@ -26,10 +26,6 @@ #include "DllMacro.h" -#include -#include -#include - #include #include #include @@ -130,7 +126,6 @@ protected: QPointer m_sock; int m_peerport; msg_ptr m_msg; - QJson::Parser parser; Servent* m_servent; bool m_outbound, m_ready, m_onceonly; msg_ptr m_firstmsg; diff --git a/src/libtomahawk/network/Msg.cpp b/src/libtomahawk/network/Msg.cpp new file mode 100644 index 000000000..3e5e5c1e1 --- /dev/null +++ b/src/libtomahawk/network/Msg.cpp @@ -0,0 +1,17 @@ +#include "Msg.h" + +#include + +QVariant& Msg::json() { + Q_ASSERT( is(JSON) ); + Q_ASSERT( !is(COMPRESSED) ); + + if( !m_json_parsed ) + { + QJson::Parser p; + bool ok; + m_json = p.parse( m_payload, &ok ); + m_json_parsed = true; + } + return m_json; +} \ No newline at end of file diff --git a/src/libtomahawk/network/Msg.h b/src/libtomahawk/network/Msg.h index 058d89270..7c124ac55 100644 --- a/src/libtomahawk/network/Msg.h +++ b/src/libtomahawk/network/Msg.h @@ -34,10 +34,7 @@ #include #include #include - -#include -#include -#include +#include class Msg; typedef QSharedPointer msg_ptr; @@ -111,20 +108,7 @@ public: return m_payload; } - QVariant& json() - { - Q_ASSERT( is(JSON) ); - Q_ASSERT( !is(COMPRESSED) ); - - if( !m_json_parsed ) - { - QJson::Parser p; - bool ok; - m_json = p.parse( m_payload, &ok ); - m_json_parsed = true; - } - return m_json; - } + QVariant& json(); char flags() const { return m_flags; } diff --git a/src/libtomahawk/network/Servent.cpp b/src/libtomahawk/network/Servent.cpp index e22263976..35bfcf2f4 100644 --- a/src/libtomahawk/network/Servent.cpp +++ b/src/libtomahawk/network/Servent.cpp @@ -38,6 +38,8 @@ #include "utils/Logger.h" #include "accounts/AccountManager.h" +#include +#include #include #include @@ -67,6 +69,7 @@ Servent::Servent( QObject* parent ) , m_port( 0 ) , m_externalPort( 0 ) , m_ready( false ) + , m_parser( new QJson::Parser() ) { s_instance = this; @@ -107,6 +110,8 @@ Servent::~Servent() m_portfwd.data()->wait( 60000 ); delete m_portfwd.data(); } + + delete m_parser; } @@ -482,7 +487,7 @@ Servent::readyRead() ControlConnection* cc = 0; bool ok; QString key, conntype, nodeid, controlid; - QVariantMap m = parser.parse( sock.data()->_msg->payload(), &ok ).toMap(); + QVariantMap m = m_parser->parse( sock.data()->_msg->payload(), &ok ).toMap(); if ( !ok ) { tDebug() << "Invalid JSON on new connection, aborting"; diff --git a/src/libtomahawk/network/Servent.h b/src/libtomahawk/network/Servent.h index 622c3f84d..3cf8e5bff 100644 --- a/src/libtomahawk/network/Servent.h +++ b/src/libtomahawk/network/Servent.h @@ -33,10 +33,7 @@ #include #include #include - -#include -#include -#include +#include #include "Typedefs.h" #include "Msg.h" @@ -45,6 +42,12 @@ #include "DllMacro.h" +namespace QJson +{ + class Parser; +} + + class Connection; class Connector; class ControlConnection; @@ -172,7 +175,7 @@ private: void handoverSocket( Connection* conn, QTcpSocketExtra* sock ); void printCurrentTransfers(); - QJson::Parser parser; + QJson::Parser* m_parser; QList< ControlConnection* > m_controlconnections; // canonical list of authed peers QMap< QString, QPointer< Connection > > m_offers; QStringList m_connectedNodes;