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

📄 smbmusicapsonginfodetailcmd.cpp

📁 索爱手机代码
💻 CPP
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPSongInfoDetailCmd.cpp
//
// Description:
//	儈儏乕僕僢僋梡徻嵶忣曬昞帵-忣曬昞帵夋柺僐儅儞僪僋儔僗
/*-------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅				|曄峏幰			|撪梕
//---------------------------------------------------------------------------
//2006/04/17		|SEMCJ嬥岝		|怴婯嶌惉
//2007/04/06		|SEMCJ汭弐		|徻嵶忣曬曇廤偺捛壛

#include "SmbMusicAPSongInfoDetailCmd.h"
#include "SmbMusicAPSongInfoExternalInterface.h"

USING_NAMESPACE_SEMCJ
///////////////////////////////////////////////////////////////////////////////
/**
 * 僐儞僗僩儔僋僞
 *
 * @param[in]		aView				價儏乕僆僽僕僃僋僩
 * @param[in]		aModel				儌僨儖僆僽僕僃僋僩
 * @param[in]		aCmdObserver		僐儅儞僪僆僽僓乕僶僆僽僕僃僋僩
 * @param[in]		aLauncher			儔儞僠儍乕僙僢僔儑儞
 * @param[in]		aLog				儘僌僒乕僶偺僙僢僔儑儞
 * @param[in]		aRscMgrAppClient		嫞崌僼儗乕儉儚乕僋
 */
CSmbMusicAPSongInfoDetailCmd::CSmbMusicAPSongInfoDetailCmd(CSmbMusicAPSongInfoDetailView& aView,
											CSmbMusicAPSongInfoModel& aModel,
											MSmbMusicAPSongInfoCmdObserver& aCmdObserver,
											RLauncherSession& aLauncher,
											RLog& aLog)
	:CSmbMusicAPSongInfoCmdBase(aModel, aCmdObserver, aLauncher, aLog), iView(aView)
	{
	}

/**
 * View偵屌桳偺僐儅儞僪張棟
 *
 * @param[in]		aCommand		僐儅儞僪ID
 * @leave			KErrArgument	巜掕偝傟偨僐儅儞僪ID偑憐掕奜偺抣偺応崌
 */
void CSmbMusicAPSongInfoDetailCmd::HandleViewCommandL(TInt aCommand)
	{
	//僐儅儞僪梷惂僼儔僌傪僠僃僢僋偡傞
	if(EFalse != iCommandControl)
		{
		//僐儅儞僪梷惂拞偺偨傔丄壗傕張棟偟側偄
		return;
		}

	switch(aCommand)
		{
		case ECmdCreateSongItem:
			{
			//嬋傾僀僥儉惗惉張棟
			TRAPD(error, CreateSongItemL());
			if(KErrNone != error)
				{
				//儘僌弌椡
				SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo060, ELogLevelHighest, error, KSmbMusicAPSongInfoLogCreateSongItemReturnErr);
				//儕乕僽張棟
				User::Leave(error);
				}
			}
			break;

		case ECmdGetDetailInfo:
			{
			//徻嵶忣曬庢摼張棟
			TRAPD(error, GetDetailInfoL());
			if(KErrNone != error)
				{
				//儘僌弌椡
				SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo061, ELogLevelHighest, error, KSmbMusicAPSongInfoLogGetDetailInfoReturnErr);
				//儕乕僽張棟
				User::Leave(error);
				}
			}
			break;

		case ECmdChangeURLView:
			{
			//URL夋柺昞帵張棟
			TRAPD(error, StartURLL());
			if(KErrNone != error)
				{
				//儘僌弌椡
				SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo045, ELogLevelHighest, error, KSmbMusicAPSongInfoLogStartURLLErr);
				//儕乕僽張棟
				User::Leave(error);
				}
			}
			break;

//ADD-S 汭弐 徻嵶忣曬曇廤偺捛壛
		case ECmdChangeEditView:
			{
			//曇廤夋柺昞帵張棟
			TRAPD(error, StartEditL());
			if(KErrNone != error)
				{
				//儘僌弌椡
				SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo255, ELogLevelHighest, error, KSmbMusicAPSongInfoLogStartEditLErr);
				//儕乕僽張棟
				User::Leave(error);
				}
			}
			break;
//ADD-E 汭弐

		default:
			{
			//儘僌弌椡
			TBuf<KSmbMusicAPSongInfoLogFormatLength> log;
			log.Format(KSmbMusicAPSongInfoLogUnexpectCommandErr, aCommand);
			SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo049, ELogLevelHighest, KErrArgument, log);
			//儕乕僽張棟
			User::Leave(KErrArgument);
			}
			break;
		}
	}

/**
 * 嬋傾僀僥儉惗惉張棟
 *
 * @leave	CreateSongItemL偺栠傝抣偑KErrNone偱偼側偄応崌
 */
void CSmbMusicAPSongInfoDetailCmd::CreateSongItemL()
	{
	//嬋傾僀僥儉惗惉傪梫媮偡傞
	TInt result = iModel.CreateSongItemL(iView.SongId());
	if(KErrNone != result)
		{
		//儘僌弌椡
		SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo057, ELogLevelHighest, result, KSmbMusicAPSongInfoLogCreateSongItemLErr);
		//儕乕僽張棟
		User::Leave(result);
		}
	}

/**
 * 徻嵶忣曬庢摼張棟
 *
 * @leave	RequestDetailInfo偺栠傝抣偑KErrNone偱偼側偄応崌
 */
void CSmbMusicAPSongInfoDetailCmd::GetDetailInfoL()
	{
	//徻嵶忣曬偺嵞庢摼傪梫媮偡傞
	TInt result = iModel.ReacquisitionDetailInfoL();

//MODIFY-S MAEJI 
	if((KErrNone != result)&&(KErrArgument != result))
//MODIFY-E 
		{
		//儘僌弌椡
		SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo171, ELogLevelHighest, result, KSmbMusicAPSongInfoLogReacquisitionDetailInfoLErr);
		//儕乕僽張棟
		User::Leave(result);
		}
	}

/**
 * URL昞帵夋柺昞帵張棟
 *
 * @leave		result		StartApp偺栠傝抣偑KErrNone偱偼側偄応崌
 */
void CSmbMusicAPSongInfoDetailCmd::StartURLL()
	{
	//URL夋柺昞帵
	TInt result = ChangeLocalView(TUid::Uid(ESmbMusicAPSongInfoURLView), KNullDesC8);
	if(KErrNone != result)
		{
		//儘僌弌椡
		SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo172, ELogLevelHighest, result, KSmbMusicAPSongInfoLogChangeViewErr);
		//儕乕僽張棟
		User::Leave(result);
		}
	}

//ADD-S 汭弐 徻嵶忣曬曇廤偺捛壛
/**
 * 曇廤夋柺昞帵張棟
 *
 * @leave		result		StartApp偺栠傝抣偑KErrNone偱偼側偄応崌
 */
void CSmbMusicAPSongInfoDetailCmd::StartEditL()
	{
	//徻嵶忣曬曇廤夋柺昞帵
	TInt result = ChangeLocalView(TUid::Uid(ESmbMusicAPSongInfoEditView), KNullDesC8);
	if(KErrNone != result)
		{
		//儘僌弌椡
		SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo254, ELogLevelHighest, result, KSmbMusicAPSongInfoLogChangeViewErr);
		//儕乕僽張棟
		User::Leave(result);
		}
	}
//ADD-E 汭弐
// end of SmbMusicAPSongInfoDetailCmd.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -