43 public: |
43 public: |
44 MpQueryManager(); |
44 MpQueryManager(); |
45 ~MpQueryManager(); |
45 ~MpQueryManager(); |
46 |
46 |
47 public: |
47 public: |
48 void clearNetworkReplies(); |
48 void reset(); |
49 void queryLocalMusicStore( QString mArtist,QString mAlbum,QString mTitle ); |
49 void queryLocalMusicStore( QString mArtist,QString mAlbum,QString mTitle ); |
50 void queryInspireMeItems( QString mArtist,QString mAlbum,QString mTitle ); |
50 void queryInspireMeItems( QString mArtist,QString mAlbum,QString mTitle ); |
51 void clearRecommendations(); |
51 void queryLocalMusicStore(); |
|
52 bool isLocalMusicStore() const; |
52 |
53 |
53 QStringList recommendationSongs(); |
54 int recommendationsCount() const; |
54 QStringList recommendationArtists(); |
55 QString recommendedSong(int index) const; |
55 QStringList recommendationAlbumArtsLink(); |
56 QString recommendedArtist(int index) const; |
56 QMap<QString, QPixmap> recommendationAlbumArtsMap(); |
57 HbIcon recommendedAlbumArt(int index) const; |
57 void insertMapItem( const QString &uri, const QPixmap &pixmap ); |
|
58 |
58 |
59 private slots: |
59 private slots: |
60 void retrieveInformationFinished( QNetworkReply* reply ); |
60 void retrieveInformationFinished( QNetworkReply* reply ); |
61 void retrieveInformationNetworkError( QNetworkReply::NetworkError error ); |
61 void retrieveInformationNetworkError( QNetworkReply::NetworkError error ); |
62 void retrieveInformationSslErrors( const QList<QSslError> &error ); |
62 void retrieveInformationSslErrors( const QList<QSslError> &error ); |
63 void DownloadFinished( QNetworkReply* reply ); |
63 void albumArtDownloaded( QNetworkReply* reply ); |
64 void setAlbumArtUri( const QString &albumArtUri, const QString &albumArtName ); |
64 void setAlbumArtUri( const QString &albumArtUri, const QString &albumArtName ); |
65 void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error ); |
65 void thumbnailReady( const QPixmap pixmap, void *data, int id, int error ); |
66 |
66 |
67 private: |
67 private: |
|
68 void clearThumbnails(); |
|
69 void clearRecommendations(); |
|
70 void clearNetworkReplies(); |
|
71 void signalError(); |
68 void constructRequest( QString &uri ); |
72 void constructRequest( QString &uri ); |
69 // retrieve URI from Ovi music server |
73 // retrieve URI from Ovi music server |
70 void retrieveInformation( const QString &urlEncoded ); |
74 void retrieveInformation( const QString &urlEncoded ); |
71 |
75 |
72 void composeAlbumCover( QPixmap albumart ); |
|
73 QString keyValues( QStringList keys, QStringList values ) const; |
76 QString keyValues( QStringList keys, QStringList values ) const; |
74 void handleParsedXML(); |
77 void handleParsedXML(); |
75 |
78 |
76 bool writeImageToFile( const QByteArray &aImageData, const QString &aImageFileName ); |
79 bool writeImageToFile( const QByteArray &aImageData, const QString &aImageFileName ); |
77 |
80 |
78 signals: |
81 signals: |
79 void networkError(); |
82 void inspireMeItemAlbumArtReady(); |
80 void searchUrlRetrieved( const QString& url ); |
83 void localMusicStoreRetrieved(bool storeUpdated); |
81 void recommendationAlbumArtsReady(); |
84 void localMusicStoreRetrievalError(); |
82 |
85 void inspireMeItemsRetrievalError(); |
|
86 void inspireMeItemsMetadataRetrieved(); |
|
87 |
83 private: |
88 private: |
84 |
89 |
85 QNetworkAccessManager *mManager; |
90 QNetworkAccessManager *mManager; |
86 QNetworkAccessManager *mDownloadManager; |
91 QNetworkAccessManager *mAlbumArtDownloader; |
87 |
92 |
88 int mDownloadedAlbumArts; |
93 int mDownloadedAlbumArts; |
89 |
94 |
90 QList<QNetworkReply *> mReplys; |
95 QList<QNetworkReply *> mReplys; |
|
96 QList<int> mThumbnailRequests; |
91 |
97 |
92 QDomDocument mDomDocument; |
98 QDomDocument mDomDocument; |
93 ThumbnailManager *mThumbnailManager; //owned |
99 ThumbnailManager *mThumbnailManager; //owned |
94 |
100 |
95 QString mArtist; |
101 QString mArtist; |
96 QString mAlbum; |
102 QString mAlbum; |
97 QString mTitle; |
103 QString mTitle; |
|
104 QString mMusicStore; |
|
105 QStringList mRecommendationAlbumArtsName; |
98 |
106 |
99 QStringList mRecommendationAlbumArtsName; |
107 QStringList mRecommendationSongs; |
100 |
108 QStringList mRecommendationArtists; |
101 QStringList mRecommendationSongs; |
109 QStringList mRecommendationAlbumArtsLink; |
102 QStringList mRecommendationArtists; |
110 QMap<QString, HbIcon> mRecommendationAlbumArtsMap; |
103 QStringList mRecommendationAlbumArtsLink; |
111 int mAlbumArtsReadyCount; |
104 QMap<QString, QPixmap> mRecommendationAlbumArtsMap; |
112 HbIcon mDefaultRecommendationAlbumArt; |
105 int mAlbumArtsReadyCount; |
|
106 QPixmap mDefaultRecommendationAlbumArt; |
|
107 |
113 |
|
114 enum RequestType { NoRequest, InspireMeItemsMetadataRequest, InspireMeItemsAlbumArtRequest, LocalStoreRequest }; |
|
115 RequestType mRequestType; |
|
116 int mRecommendationCount; |
108 |
117 |
109 }; |
118 }; |
110 #endif /* MPQUERYMANAGER_H_ */ |
119 #endif /* MPQUERYMANAGER_H_ */ |
|
120 |