--- a/mpviewplugins/mpdetailsviewplugin/inc/mpquerymanager.h Fri May 14 18:54:37 2010 -0500
+++ b/mpviewplugins/mpdetailsviewplugin/inc/mpquerymanager.h Fri May 28 19:46:01 2010 -0500
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
-* This component and the accompanying materials are made available
+* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
@@ -18,6 +18,7 @@
#define MPQUERYMANAGER_H_
#include <QPixmap>
+#include <QPointer>
#include <QNetworkReply>
#include <QDomDocument>
#include <QMap>
@@ -25,6 +26,7 @@
#include "mpviewbase.h"
class QNetworkAccessManager;
+class ThumbnailManager;
/*!
MpQueryManager class is responsible for performing music player
@@ -41,67 +43,68 @@
public:
MpQueryManager();
~MpQueryManager();
-
+
public:
void clearNetworkReplies();
void queryLocalMusicStore( QString mArtist,QString mAlbum,QString mTitle );
void queryInspireMeItems( QString mArtist,QString mAlbum,QString mTitle );
void clearRecommendations();
-
+
QStringList recommendationSongs();
QStringList recommendationArtists();
QStringList recommendationAlbumArtsLink();
- QMap<QString, QPixmap> recommendationAlbumArtsMap();
- int &albumArtsReadyCount();
-
- void insertMapItem( const QString &uri, const QPixmap &pixmap );
+ QMap<QString, QPixmap> recommendationAlbumArtsMap();
+ void insertMapItem( const QString &uri, const QPixmap &pixmap );
private slots:
void retrieveInformationFinished( QNetworkReply* reply );
void retrieveInformationNetworkError( QNetworkReply::NetworkError error );
void retrieveInformationSslErrors( const QList<QSslError> &error );
- void DownloadFinished( QNetworkReply* reply );
-
+ void DownloadFinished( QNetworkReply* reply );
+ void setAlbumArtUri( const QString &albumArtUri, const QString &albumArtName );
+ void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error );
+
private:
- void constructRequest( QString &uri );
+ void constructRequest( QString &uri );
// retrieve URI from Ovi music server
void retrieveInformation( const QString &urlEncoded );
-
+
void composeAlbumCover( QPixmap albumart );
QString keyValues( QStringList keys, QStringList values ) const;
void handleParsedXML();
bool writeImageToFile( const QByteArray &aImageData, const QString &aImageFileName );
-
+
signals:
- void networkError();
- void setAlbumArt( const QString &albumArtUri, const QString &albumArtName );
+ void networkError();
void searchUrlRetrieved( const QString& url );
+ void recommendationAlbumArtsReady();
-private:
-
+private:
+
QNetworkAccessManager *mManager;
QNetworkAccessManager *mDownloadManager;
-
+
int mDownloadedAlbumArts;
-
+
QList<QNetworkReply *> mReplys;
-
+
QDomDocument mDomDocument;
-
-
+ ThumbnailManager *mThumbnailManager; //owned
+
QString mArtist;
QString mAlbum;
QString mTitle;
-
+
QStringList mRecommendationAlbumArtsName;
-
+
QStringList mRecommendationSongs;
QStringList mRecommendationArtists;
QStringList mRecommendationAlbumArtsLink;
QMap<QString, QPixmap> mRecommendationAlbumArtsMap;
int mAlbumArtsReadyCount;
-
-
+ QPixmap mDefaultRecommendationAlbumArt;
+
+
};
#endif /* MPQUERYMANAGER_H_ */