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

📄 smbmusicapsonginfoeditcmd.cpp

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

#include "SmbMusicAPSongInfoEditCmd.h"

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

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

	switch(aCommand)
		{
	case ECmdInfoReset:
		{
		TRAPD(error, ResetItemL());
		if(KErrNone != error)
			{
			//儘僌弌椡
			SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo221, ELogLevelLow, error, KSmbMusicAPSongInfoLogEditCmdResetItemErr);
			//儕乕僽張棟
			User::Leave(error);
			}
		}
		break;

	case ECmdCancelEdit:
		{
		TRAPD(error, CancelEditL());
		if(KErrNone != error)
			{
			//儘僌弌椡
			SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo222, ELogLevelLow, error, KSmbMusicAPSongInfoLogEditCmdCancelEditErr);
			//儕乕僽張棟
			User::Leave(error);
			}
		}
		break;
			
	case ECmdInfoFinishEdit:
		{
		TRAPD(error, FinishEditL());
		if(KErrNone != error)
			{
			//儘僌弌椡
			SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo223, ELogLevelLow, error, KSmbMusicAPSongInfoLogEditCmdFinishEditErr);
			//儕乕僽張棟
			User::Leave(error);
			}
		}
		break;	

	case ECmdReflectEditInfo:
		{
		TRAPD(error, ReflectEditL());
		if(KErrNone != error)
			{
			//儘僌弌椡
			SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo224, ELogLevelLow, error, KSmbMusicAPSongInfoLogEditCmdReflectEditErr);
			//儕乕僽張棟
			User::Leave(error);
			}
		}
		break;
			
	case ECmdChangeDetailView:
		{
		//徻嵶忣曬昞帵夋柺昞帵張棟
		TRAPD(error, StartDetailL());
		if(KErrNone != error)
			{
			//儘僌弌椡
			SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo225, ELogLevelLow, error, KSmbMusicAPSongInfoLogEditCmdStartDetailErr);
			//儕乕僽張棟
			User::Leave(error);
			}
		}
		break;

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

/**
 * 崁栚傪儕僙僢僩偡傞
 * @leave		error		弶婜抣偺僙僢僩偑幐攕偟偨応崌
 */
void CSmbMusicAPSongInfoEditCmd::ResetItemL()
	{
	TRAPD(error, iView.EditInfoResetL());
	if(KErrNone != error)
		{
		//儘僌弌椡
		SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo226, ELogLevelLow, error, KSmbMusicAPSongInfoLogEditViewEditInfoResetErr);
		//儕乕僽張棟
		User::Leave(error);
		}
	}

/**
 * 曇廤拞巭
 * @leave		error		曇廤拞巭偺張棟偑幐攕偟偨応崌
 */
void CSmbMusicAPSongInfoEditCmd::CancelEditL()
	{
	TRAPD(error, iView.EditInfoCancelL());
	if(KErrNone != error)
		{
		//儘僌弌椡
		SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo227, ELogLevelLow, error, KSmbMusicAPSongInfoLogEditViewEditInfoCancelErr);
		//儕乕僽張棟
		User::Leave(error);
		}
	}

/**
 * 曇廤姰椆
 * @leave		error		曇廤姰椆偺張棟偑幐攕偟偨応崌
 */
void CSmbMusicAPSongInfoEditCmd::FinishEditL()
	{
	TRAPD(error, iView.EditInfoFinishL());
	if(KErrNone != error)
		{
		//儘僌弌椡
		SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo228, ELogLevelLow, error, KSmbMusicAPSongInfoLogEditViewEditInfoFinishErr);
		//儕乕僽張棟
		User::Leave(error);
		}
	}

/**
 * 曇廤斀塮
 * @leave		error		曇廤斀塮偺張棟偑幐攕偟偨応崌
 */
void CSmbMusicAPSongInfoEditCmd::ReflectEditL()
	{
	TRAPD(error, iModel.ReflectEditInfomationL());
	if(KErrNone != error)
		{
		//儘僌弌椡
		SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo229, ELogLevelLow, error, KSmbMusicAPSongInfoLogModelEditInfoFinishErr);
		//儕乕僽張棟
		User::Leave(error);
		}
	}

/**
 * 徻嵶忣曬昞帵夋柺昞帵
 * @leave		result		忣曬昞帵夋柺傊栠傞偺偑幐攕偟偨応崌
 */	
void CSmbMusicAPSongInfoEditCmd::StartDetailL()
	{
	//徻嵶忣曬曇廤夋柺昞帵
	TInt result = ChangeLocalView(TUid::Uid(ESmbMusicAPSongInfoDetailView), KNullDesC8);
	if(KErrNone != result)
		{
		//儘僌弌椡
		SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo217, ELogLevelLow, result, KSmbMusicAPSongInfoLogChangeViewErr);
		//儕乕僽張棟
		User::Leave(result);
		}
	}

/**
 * 廔榖僉乕墴壓張棟
 */
void CSmbMusicAPSongInfoEditCmd::HandleViewOnHookL()
	{
	if(iView.CanFinishApplicationL())
		{
		CSmbMusicAPSongInfoCmdBase::HandleViewOnHookL()	;
		}
	}

SEMCJ_NAMESPACE_END
// end of SmbMusicAPSongInfoEditCmd.cpp
/* Copyright (C) 2007 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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