⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smbmusicapsingleplayercreatesongitem.cpp

📁 symbian代码
💻 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 + -