📄 smbmusicapsonginfoeditcmd.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 + -