📄 smbmusicapsingleplayercreatesongitem.cpp
字号:
/*----------------------------------------------------------------------------*/
// Copyright (c) 2004 Sony Ericsson Mobile Communications Japan, Inc.
// All rights reserved.
/*----------------------------------------------------------------------------*/
// FileName:
// CSmbMusicAPSinglePlayerCreateSongItem.cpp
//
// Description:
// 堦嬋嵞惗僾儗僀儎乕嬋Item嶌惉僋儔僗
//
// Modify:
// 2007-02-01 PTX824Start
/*------------------------------------------------------------------------*/
// $NoKeywords: $
#ifndef SMBMUSICAPSINGLEPLAYERCREATESONGITEM_H_
#include "SmbMusicAPSinglePlayerCreateSongItem.h" // 堦嬋嵞惗僾儗僀儎乕嬋Item嶌惉僋儔僗
#endif //SMBMUSICAPSINGLEPLAYERCREATESONGITEM_H_
#ifndef SMBMUSICAPSINGLEPLAYERMODEL_H_
#include "SmbMusicAPSinglePlayerModel.h" // 堦嬋嵞惗僾儗僀儎乕儌僨儖僋儔僗
#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, "SMBMUSICSINGLEPLAYERCREATESONGITEM");
#endif
_LIT(KCreateSongItem, "SmbMusicAPSinglePlayerCleateSongItem");
/**
* 僐儞僗僩儔僋僞
*
* @param RSmbMusicMWLibSession* aSession
* @param CSmbMusicAPSinglePlayerModel*
*/
CSmbMusicAPSinglePlayerCreateSongItem::CSmbMusicAPSinglePlayerCreateSongItem
(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 側偟
*/
CSmbMusicAPSinglePlayerCreateSongItem::~CSmbMusicAPSinglePlayerCreateSongItem()
{
Cancel();
}
/**
* 僼傽僋僩儕娭悢
*
* @param RSmbMusicMWLibSession* aSession
* @param CSmbMusicAPSinglePlayerModel* aModel
* @return CSmbMusicAPSinglePlayerCreateSongItem* 嬋Item嶌惉僋儔僗
*/
CSmbMusicAPSinglePlayerCreateSongItem*
CSmbMusicAPSinglePlayerCreateSongItem::NewL
(RSmbMusicMWLibSession& aSession,
CSmbMusicAPSinglePlayerModel* aModel)
{
CSmbMusicAPSinglePlayerCreateSongItem* self = new(ELeave) CSmbMusicAPSinglePlayerCreateSongItem(aSession, aModel);
return self;
}
/**
* 嬋傾僀僥儉偺嶌惉(嬋ID巊梡)
*
* @param TUint64 aSongId 嬋ID
* @param CSmbMusicMWLibSongItem& aSongItem 曉媝梡
* @return void
*/
void CSmbMusicAPSinglePlayerCreateSongItem::CreateSongItemL
(TUint64 aSongId,
CSmbMusicMWLibSongItem& aSongItem)
{
// 儕僩儔僀偼峴偭偰偄側偄偺偱丄梫媮偺僉儍儞僙儖偼偟側偄
TInt ret = iSession.CreateSongItem(aSongId, aSongItem, iStatus);
if(KErrNone != ret)
{
SmbMusicAPSinglePlayerLog::OutputLog(KCreateSongItem, ECreateSongItem, ELogLevelHigh,_L("CreateSongItem(S)Err:%d" ), ret);
User::Leave(ret);
}
SetActive();
}
/**
* 嬋傾僀僥儉偺嶌惉(僐儞僥儞僣ID巊梡)
*
* @param TInt aContentsId 僐儞僥儞僣ID
* @param CSmbMusicMWLibSongItem& aSongItem 曉媝梡
* @returm void
*/
void CSmbMusicAPSinglePlayerCreateSongItem::CreateSongItemL
(TInt aContentsId,
CSmbMusicMWLibSongItem& aSongItem)
{
// 儕僩儔僀偼峴偭偰偄側偄偺偱丄梫媮偺僉儍儞僙儖偼偟側偄
TInt ret = iSession.CreateSongItem(aContentsId, aSongItem, iStatus);
if(KErrNone != ret)
{
SmbMusicAPSinglePlayerLog::OutputLog(KCreateSongItem, ECreateSongItem, ELogLevelHigh,_L("CreateSongItem(C)Err:%d" ), ret);
User::Leave(ret);
}
SetActive();
}
/**
* 旕摨婜張棟廔椆屻
*
* @param 側偟
* @return void
*/
void CSmbMusicAPSinglePlayerCreateSongItem::RunL()
{
TBool isFound = ETrue;
TInt ret = iStatus.Int();
if(KErrNone == ret)
{
isFound = ETrue;
}
else if(KErrNotFound == ret)
{
SmbMusicAPSinglePlayerLog::OutputLog(KCreateSongItem, ECreateSongItem, ELogLevelLowest,_L("CreateSongItem(RunL)Err:%d" ), ret);
isFound = EFalse;
}
else
{
SmbMusicAPSinglePlayerLog::OutputLog(KCreateSongItem, ECreateSongItem, ELogLevelHigh,_L("CreateSongItem(RunL)Err:%d" ), ret);
User::Leave(ret);
}
iModel->CreateSongItemCompleteL(isFound);
}
/**
* 旕摨婜梫媮僉儍儞僙儖張棟
*
* @param 側偟
* @return void
*/
void CSmbMusicAPSinglePlayerCreateSongItem::DoCancel()
{
// 曉傝抣偵墳偠偰摿偵張棟傪峴偆昁梫偼側偄偨傔丄曉傝抣傪柍帇偡傞
TInt ret = iSession.CancelCreateItem();
if(KErrNone != ret)
{
SmbMusicAPSinglePlayerLog::OutputLogWithServerConnect(KCreateSongItem, ECreateSongItem, ELogLevelLowest,_L("CreateSongItemCancelErr:%d" ), ret);
}
}
SEMCJ_NAMESPACE_END
// end of SmbMusicAPSinglePlayerCreateSongItem.cpp
/* Copyright (C) 2007 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -