qtinternetradio/irqisdsclient/src/irqisdscientimpl.cpp
changeset 3 ee64f059b8e1
parent 0 09774dfdd46b
--- a/qtinternetradio/irqisdsclient/src/irqisdscientimpl.cpp	Mon May 03 12:25:23 2010 +0300
+++ b/qtinternetradio/irqisdsclient/src/irqisdscientimpl.cpp	Fri May 14 15:43:29 2010 +0300
@@ -36,10 +36,9 @@
 void getIsdsUrlFromConfiguration(QString & aUrl);
 #endif // USER_DEFINED_ISDSURL
 
-IRQIsdsClientImpl::IRQIsdsClientImpl(IRQFavoritesDB *aFavPresets) : iISDSClient(NULL), iFavPresets(NULL),
+IRQIsdsClientImpl::IRQIsdsClientImpl() : iISDSClient(NULL), iFavPresets(NULL),
                                                                     iLogoDownloadEngine(NULL)
 {
-    iFavPresets = aFavPresets->getCIRFavoriteDB();
 #ifdef USER_DEFINED_ISDSURL
     QString userDefinedIsdsUrl(KDefaultIsdsUrl);
     getIsdsUrlFromConfiguration(userDefinedIsdsUrl);
@@ -55,7 +54,6 @@
     
     iLogoDownloadEngine
             = iISDSClient->GetDataProvider()->GetHttpDataProvider()->GetLogoDownloadEngine();
-    iLogoDownloadEngine->SetFavDbInstance(iFavPresets);
 }
 
 IRQIsdsClientImpl::~IRQIsdsClientImpl()
@@ -179,8 +177,9 @@
 //@param int,QString, the preset id and the last modified tag for the preset   
 //
 int IRQIsdsClientImpl::isdsSyncPresetImpl(int aPresetId,
-        const QString& aIfModifySince)
+        const QString& aIfModifySince, IRQFavoritesDB *aFavPresets)
 {
+    iFavPresets = aFavPresets;
     TPtrC16 modifySinceDes(
             reinterpret_cast<const TUint16*> (aIfModifySince.utf16()));
     TInt result = 0;
@@ -470,7 +469,10 @@
 //
 void IRQIsdsClientImpl::IsdsPresetRemovedL(TInt aId)
 {
-    iFavPresets->MakePresetUserDefinedL(aId, 0);
+    if(iFavPresets)
+    {
+        iFavPresets->makePresetUserDefined(aId, 0);
+    }
     emit
     syncPresetResultImpl(EIRQIsdsSycPresetRemoved, NULL);
 }
@@ -480,10 +482,13 @@
 //
 void IRQIsdsClientImpl::IsdsPresetChangedL(CIRIsdsPreset& aPreset)
 {
-    iFavPresets->ReplacePresetL(aPreset);
     IRQPreset* qPreset = new IRQPreset();
     IRQUtility::convertCIRIsdsPreset2IRQPrest(aPreset, *qPreset);
     qPreset->type = IRQPreset::EIsds;
+    if(iFavPresets)
+    {        
+        iFavPresets->replacePreset(*qPreset);
+    }
     emit syncPresetResultImpl(EIRQIsdsSycPresetChanged, qPreset);
 }