📄 smbmusicapsingleplayerdeleteitem.cpp
字号:
/*----------------------------------------------------------------------------*/
// Copyright (c) 2007 Sony Ericsson Mobile Communications Japan, Inc.
// All rights reserved.
/*----------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSinglePlayerDeleteItem.cpp
//
// Description:
// 堦嬋嵞惗僾儗僀儎乕嬋嶍彍僋儔僗
//
// Modify:
// 2007-02-01 PTX824Start
/*------------------------------------------------------------------------*/
// $NoKeywords: $
#ifndef SMBMUSICAPSINGLEPLAYERDELETEITEM_H_
#include "SmbMusicAPSinglePlayerDeleteItem.h" // 堦嬋嵞惗僾儗僀儎乕嬋嶍彍
#endif //SMBMUSICAPSINGLEPLAYERDELETEITEM_H_
#ifndef SMBMUSICAPSINGLEPLAYERMODEL_H_
#include "SmbMusicAPSinglePlayerModel.h" //堦嬋嵞惗僾儗僀儎乕Model
#endif //SMBMUSICAPSINGLEPLAYERMODEL_H_
#ifndef __SMBMUSICMWLIBCLIENT_H__
#include <SmbMusicMWLibClient.h> //MW儔僀僽儔儕僋儔僀傾儞僩
#endif //__SMBMUSICMWLIBCLIENT_H__
#ifndef SMBMUSICAPSINGLEPLAYERLOG_H_
#include "SmbMusicAPSinglePlayerLog.h" // 儘僌
#endif //SMBMUSICAPSINGLEPLAYERLOG_H_
SEMCJ_NAMESPACE_BEGIN
#if defined(_DEBUG)
_LIT(KPanicCategory, "SmbMusicAPSinglePlayerDeleteItem");
#endif
_LIT(KDeleteItem, "SmbMusicAPSinglePlayerDeleteItem");
/**
* 僐儞僗僩儔僋僞
*
* @param RSmbMusicMWLibSession* aSession MW儔僀僽儔儕僙僢僔儑儞
* @param CSmbMusicAPSinglePlayerModel* 堦嬋嵞惗僾儗僀儎乕Model
*/
CSmbMusicAPSinglePlayerDeleteItem::CSmbMusicAPSinglePlayerDeleteItem
(RSmbMusicMWLibSession* aSession,
CSmbMusicAPSinglePlayerModel* aModel)
: CActive(EPriorityStandard),
iModel(aModel),
iSession(aSession)
{
__ASSERT_DEBUG(aSession != NULL,
User::Panic(KPanicCategory, EInvalidArgument));
__ASSERT_DEBUG(aModel != NULL,
User::Panic(KPanicCategory, EInvalidArgument));
CActiveScheduler::Add(this);
}
/**
* 僨僗僩儔僋僞
*
* @param 側偟
*/
CSmbMusicAPSinglePlayerDeleteItem::~CSmbMusicAPSinglePlayerDeleteItem()
{
Cancel();
// 嶍彍儕僗僩偺攋婞
delete iDeleteListItem;
}
/**
* 僼傽僋僩儕娭悢
*
* @param RSmbMusicMWLibSession* aSession MW儔僀僽儔儕僙僢僔儑儞
* @param CSmbMusicAPSinglePlayerModel* aModel 堦嬋嵞惗僾儗僀儎乕_Model僋儔僗
* @return CSmbMusicAPSinglePlayerDeleteItem* 堦嬋嵞惗僾儗僀儎乕嬋嶍彍僋儔僗僀儞僗僞儞僗
*/
CSmbMusicAPSinglePlayerDeleteItem* CSmbMusicAPSinglePlayerDeleteItem::NewL( RSmbMusicMWLibSession* aSession,
CSmbMusicAPSinglePlayerModel* aModel)
{
CSmbMusicAPSinglePlayerDeleteItem* self = new(ELeave) CSmbMusicAPSinglePlayerDeleteItem(aSession, aModel);
return self;
}
/**
* 嬋傾僀僥儉偺嶍彍
*
* @param CSmbMusicMWLibMusicItem* aMusicItem 嶍彍偡傞嬋傾僀僥儉
* @return void
*/
void CSmbMusicAPSinglePlayerDeleteItem::DeleteItemL(CSmbMusicMWLibMusicItem* aMusicItem)
{
// 儕僩儔僀偼偟側偄偺偱丄暋悢夞屇偽傟傞偙偲偼側偄
// 攝楍偺峔抸
// 堦嬋嵞惗僾儗僀儎乕偱偼堦偮偺嬋偺傒傪懳徾偲偡傞
__ASSERT_DEBUG( iDeleteListItem == NULL, User::Panic(KPanicCategory, 0));
__ASSERT_DEBUG( aMusicItem != NULL, User::Panic(KPanicCategory, 0));
iDeleteListItem = new(ELeave) CArrayFixFlat<TInt>(1);
iDeleteListItem->AppendL(aMusicItem->Handle());
// 儈僪儖僂僃傾傊梫媮
TInt ret = iSession->DeleteItem(*iDeleteListItem, iStatus);
if(KErrNone != ret)
{
SmbMusicAPSinglePlayerLog::OutputLog(KDeleteItem, EDelete, ELogLevelNormal,_L("DeleteItemErr:%d" ), ret);
User::Leave(ret);
}
// 僗働僕儏乕儕儞僌
SetActive();
}
/**
* 旕摨婜張棟廔椆屻
*
* @param 側偟
* @return void
*/
void CSmbMusicAPSinglePlayerDeleteItem::RunL()
{
TInt ret = iStatus.Int();
if(ret != KErrNone)
{
SmbMusicAPSinglePlayerLog::OutputLog(KDeleteItem, EDelete, ELogLevelNormal,_L("DeleteItem(RunL)Err:%d" ), ret);
}
iModel->DeleteItemCompleteL(ret);
}
/**
* 旕摨婜梫媮僉儍儞僙儖張棟
*
* @param 側偟
* @return void
*/
void CSmbMusicAPSinglePlayerDeleteItem::DoCancel()
{
iSession->CancelDeleteItem();
}
SEMCJ_NAMESPACE_END
// end of SmbMusicAPSinglePlayerDeleteItem.cpp
/* Copyright (C) 2007 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -