qtinternetradio/irqfavoritesdb/src/irqfavoritesdb_p.cpp
changeset 8 3b03c28289e6
parent 3 ee64f059b8e1
--- a/qtinternetradio/irqfavoritesdb/src/irqfavoritesdb_p.cpp	Thu May 27 12:46:34 2010 +0300
+++ b/qtinternetradio/irqfavoritesdb/src/irqfavoritesdb_p.cpp	Fri Jun 11 13:30:40 2010 +0300
@@ -197,6 +197,23 @@
     TRAP_IGNORE(increasePlayedTimesL(aPreset));
 }
 
+int IRQFavoritesDBPrivate::renamePreset(const IRQPreset &aPreset, const QString &aNewName)
+{
+    int returnCode = 0;
+    TRAPD(err, returnCode = renamePresetL(aPreset, aNewName));
+    
+    int result = 0;
+    if (KErrNone != err)
+    {
+        IRQUtility::convertSError2QError(err, result);
+    }
+    else
+    {
+        IRQUtility::convertSError2QError(returnCode, result);
+    }
+    return result;
+}
+
 /* from MPSPresetObserver */
 void IRQFavoritesDBPrivate::HandlePresetChangedL(TInt aId, TUid aDataHandler, MPSPresetObserver::TPSReason aType)
 {
@@ -254,3 +271,14 @@
     mIRFavoritesDb->IncreasePlayedTimesL(*cirPreset);    
     CleanupStack::PopAndDestroy(cirPreset);
 }
+
+int IRQFavoritesDBPrivate::renamePresetL(const IRQPreset &aPreset, const QString &aNewName)
+{
+    CIRIsdsPreset * cirPreset = CIRIsdsPreset::NewLC();
+    IRQUtility::convertIRQPreset2CIRIsdsPreset(aPreset, *cirPreset);
+    TPtrC newName(reinterpret_cast<const TUint16*>(aNewName.utf16()), aNewName.length());
+    int ret = mIRFavoritesDb->RenamePresetL(*cirPreset, newName);
+    CleanupStack::PopAndDestroy(cirPreset);
+    
+    return ret;
+}