mpviewplugins/mpdetailsviewplugin/inc/mpquerymanager.h
changeset 36 a0afa279b8fe
parent 35 fdb31ab341af
child 47 4cc1412daed0
--- 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_ */