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