📄 smbmusicapsonginfomodel.cpp
字号:
}
}
break;
//嬋忣曬斀塮姰椆捠抦偺庴怣
case EReflectEditInfoAPI :
{
//曇廤斀塮傛傝丄CSmbMusicMWLibMusicItem偺峏怴傪峴偆
TInt error = iSongItem->Update();
if(KErrNone != error)
{
//儘僌弌椡
SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo286, ELogLevelHighest, error, KSmbMusicAPSongInfoLogMWLibMusicItemUpdateErr);
//儕乕僽張棟
User::Leave(error);
}
//DEL-S 汭弐 D_82400010663傛傝丄Model::APIRequestCompleteL娭悢偑奺ActiveObject偺RunL()偵屇偽傟傞偨傔丄Model::APIRequestCompleteL娭悢偱偦偺ActiveObject傪嶍彍偟側偄傛偆偵廋惓
// delete iReflectEditInfoAPIItem;
// iReflectEditInfoAPIItem = NULL;
//DEL-E 汭
//懳徾傾僀僥儉偑峏怴偝傟偨偨傔丄奺價儏乕偵捠抦偡傞
TRAP(error, HandleChangeModelsL(EReflectEditInfo));
if(KErrNone != error)
{
//儘僌弌椡
SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo251, ELogLevelHighest, error, KSmbMusicAPSongInfoLogReflectEditInfoChangeModelsLErr);
//儕乕僽張棟
User::Leave(error);
}
}
break;
//ADD-E 汭弐
//DEL-S MAEJI
// //嬋嵞惗拞忣曬庢摼姰椆捠抦偺庴怣
// case EGetDispAPI :
// {
// //嬋嵞惗拞忣曬庢摼梡傾僋僥傿僽僆僽僕僃僋僩僋儔僗傪攋婞偡傞
// delete iGetPlayDispInfoAPIItem;
// iGetPlayDispInfoAPIItem = NULL;
// //懳徾傾僀僥儉偑峏怴偝傟偨偨傔丄奺價儏乕偵捠抦偡傞
// TRAPD(error, HandleChangeModelsL(EGetDetailInfo));
// if(KErrNone != result)
// {
// //儘僌弌椡
// SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo038, ELogLevelHighest, result, KSmbMusicAPSongInfoLogNotifyStopAppResultErr);
// //儕乕僽張棟
// User::Leave(result);
//
// }
// }
// break;
//DEL-E
//DEL-S 汭弐 PTX824偱偼CSmbMusicAPSongInfoReflectEditInfoAPIItem偵戙傢傝傑偟偨
// //嬋忣曬峏怴姰椆捠抦偺庴怣(PTX810偱偼偙偺捠抦偼偙側偄偑師婡庬偱偼懳墳乯
// case EUpdateAPI :
// {
// //忣曬峏怴梡傾僋僥傿僽僆僽僕僃僋僩僋儔僗傪攋婞偡傞
// delete iUpdateInfoAPIItem;
// iUpdateInfoAPIItem = NULL;
// //懳徾傾僀僥儉偑峏怴偝傟偨偨傔丄奺價儏乕偵捠抦偡傞
// TRAPD(error, HandleChangeModelsL(EUpdateDetailInfo));
// if(KErrNone != error)
// {
// //儘僌弌椡
// SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo204, ELogLevelHighest, result, KSmbMusicAPSongInfoLogUpdateDetailChangeModelsLErr);
// //儕乕僽張棟
// User::Leave(error);
// }
// }
// break;
//DEL-E 汭弐
//ADD-S 憊 TRK5785,TRK7438
//旕懳墳偺嬋偺偨傔丄嬋徻嵶忣曬庢摼偵幐攕偟偨応崌
case EGetDetailFail :
{
//旕僒億乕僩嬋庒偟偔偼僿僢僟堎忢偺僐儞僥儞僣偺偨傔丄奺價儏乕偵偦偺巪傪捠抦偡傞
TRAPD(error, HandleChangeModelsL(EInvalidSong));
if(KErrNone != error)
{
//儘僌弌椡
//MODIFY-S 汭弐 Log偺error抣傪廋惓偡傞
// SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo205, ELogLevelHighest, result, KSmbMusicAPSongInfoLogSongNotSupportChangeModelsLErr);
SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo205, ELogLevelHighest, error, KSmbMusicAPSongInfoLogSongNotSupportChangeModelsLErr);
//MODIFY-E 汭弐
//儕乕僽張棟
User::Leave(error);
}
}
break;
//ADD-E
default :
{
//儘僌弌椡
TBuf<KSmbMusicAPSongInfoLogFormatLength> log;
log.Format(KSmbMusicAPSongInfoLogUnexpectCommandErr, aKind);
SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo211, ELogLevelHighest, KErrArgument, log);
//儕乕僽張棟
User::Leave(KErrArgument);
}
break;
}
}
/**
* 儌僨儖曄峏捠抦張棟
*
* @param[in] aReason 儌僨儖曄峏棟桼
*/
void CSmbMusicAPSongInfoModel::HandleChangeModelsL(TSmbMusicAPSongInfoChangeModelReason aReason)
{
//僆僽僓乕僶暘屇傃弌偡
for(TInt i = 0 ; i < iModelObserver.Count() ; i++)
{
iModelObserver[i]->HandleChangeModelL(aReason);
//奺儌僨儖偺HandleChangeModelL偵偰儘僌弌椡偡傞偨傔丄TRAP仺儘僌弌椡偼晄梫
}
}
//ADD-S MAEJI
/**
* 忣曬庢摼姰椆偐斲偐傪敾掕偡傞(僙僢僔儑儞枹愙懕偺応崌偼敾掕偱偒偢乯
*/
TBool CSmbMusicAPSongInfoModel::IsGotDetailInfo()
{
if(NULL == iDetailInfo.iDetailSongInfo)
{
return EFalse;
}
//MODIFY-S 汭弐 D_82400010663傛傝丄奺旕摨婜梫媮偑姰椆偟偨偐偳偆偐偺僠僃僢僋偱丄ActiveObject::IsActive()傪捛壛
// if(NULL != iCreateAPIItem)
if(NULL != iCreateAPIItem && iCreateAPIItem->IsActive())
//MODIFY-E 汭弐
{
return EFalse;
}
//MODIFY-S 汭弐 D_82400010663傛傝丄奺旕摨婜梫媮偑姰椆偟偨偐偳偆偐偺僠僃僢僋偱丄ActiveObject::IsActive()傪捛壛
// if(NULL != iGetDetailInfoAPIItem)
if(NULL != iGetDetailInfoAPIItem && iGetDetailInfoAPIItem->IsActive())
//MODIFY-E 汭弐
{
return EFalse;
}
return ETrue;
}
//ADD-E
//ADD-S 汭弐 徻嵶忣曬曇廤偺捛壛
/**
* 曇廤椞堟偺庢摼
*
* @leave error 梫媮僋儔僗偺惗惉丄埥偄偼梫媮偺敪峴偑幐攕偟偨応崌
*/
void CSmbMusicAPSongInfoModel::GetEditInfomationL()
{
if(NULL != iGetEditInfoAPIItem)
{
if(iGetEditInfoAPIItem->IsActive())
{
//偡偱偵梫媮拞偺応崌偼丄堦扷僉儍儞僙儖偡傞
iGetEditInfoAPIItem->Cancel();
}
}
else
{
//傑偩梫媮偟偰偄側偄偨傔丄梫媮僋儔僗傪惗惉偡傞
iGetEditInfoAPIItem = new(ELeave) CSmbMusicAPSongInfoGetEditInfoAPIItem(*iSongItem, *this, iLog);
}
if(NULL != iEditInfo)
{
delete iEditInfo;
iEditInfo = NULL;
}
TRAPD(error, iEditInfo = CSmbMusicMWLibSongEditInfo::NewL());
if(KErrNone != error)
{
//儘僌弌椡
SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo249, ELogLevelLow, error, KSmbMusicAPSongInfoLogNewErr);
//儕乕僽張棟
User::Leave(error);
}
TInt result = iGetEditInfoAPIItem->Start(*iEditInfo);
if(KErrNone != result)
{
//儘僌弌椡
SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo268, ELogLevelLow, result, KSmbMusicAPSongInfoLogModelGetEditinfoErr);
//儕乕僽張棟
User::Leave(result);
}
}
/**
* 曇廤椞堟庢摼拞忬懺偺僠僃僢僋
*
* @return 曇廤椞堟庢摼拞偺応崌偼丄ETrue傪曉媝
*/
TBool CSmbMusicAPSongInfoModel::IsRequestGetEditInfo()
{
if (NULL != iGetEditInfoAPIItem && iGetEditInfoAPIItem->IsActive())
{
return ETrue;
}
return EFalse;
}
/**
* 忣曬曇廤椞堟庢摼偺僉儍儞僙儖
*/
void CSmbMusicAPSongInfoModel::CancelGetEditInfo()
{
iGetEditInfoAPIItem->Cancel();
}
/**
* 曇廤斀塮
*
* @return 僄儔乕掕悢
*/
TInt CSmbMusicAPSongInfoModel::ReflectEditInfomationL()
{
if(NULL != iReflectEditInfoAPIItem)
{
// iEditInfo偺桳岠惈傪妋曐偺偨傔丄傕偲偺懳徾傪攋婞偡傞
delete iReflectEditInfoAPIItem;
iReflectEditInfoAPIItem = NULL;
}
//梫媮僋儔僗傪惗惉偡傞
iReflectEditInfoAPIItem = new(ELeave) CSmbMusicAPSongInfoReflectEditInfoAPIItem(*iEditInfo, *this, iLog);
return iReflectEditInfoAPIItem->Start();
}
/**
* 曇廤斀塮拞忬懺偺僠僃僢僋
*
* @return 曇廤斀塮拞偺応崌偼丄ETrue傪曉媝
*/
TBool CSmbMusicAPSongInfoModel::IsRequestReflectEditInfo()
{
if (NULL != iReflectEditInfoAPIItem && iReflectEditInfoAPIItem->IsActive())
{
return ETrue;
}
return EFalse;
}
/**
* 曇廤斀塮偺僉儍儞僙儖
*/
void CSmbMusicAPSongInfoModel::CancelReflectEditInfo()
{
iReflectEditInfoAPIItem->Cancel();
}
/**
* 妝嬋忣曬曇廤梡椞堟偺嶍彍丄
* 僋儔僗CSmbMusicMWLibSongEditInfo偼丄僨僗僩儔僋僞偑旕摨婜梫媮ReflectEditInfo偺僉儍儞僙儖傪寭柋偡傞
*/
void CSmbMusicAPSongInfoModel::DeleteEditInfo()
{
if(NULL != iEditInfo)
{
delete iEditInfo;
iEditInfo = NULL;
//懳徾傾僀僥儉偑峏怴偝傟偨偨傔丄奺價儏乕偵捠抦偡傞
TRAPD(error, HandleChangeModelsL(EDeleteEditInfo));
if(KErrNone != error)
{
//儘僌弌椡
SmbMusicAPSongInfoLog::OutputLog(iLog, ESongInfoLogNo282, ELogLevelLow, error, KSmbMusicAPSongInfoLogDeleteEditInfoChangeModelsLErr);
//Model::DeleteEditInfo()偑ReflectEditInfoAPIItem::DoCancel()偱屇偽傟偰丄Leave偟側偄
}
}
}
/**
* 妝嬋忣曬曇廤梡椞堟億僀儞僞偺庢摼丄
*
* @return 妝嬋忣曬曇廤梡椞堟億僀儞僞 乮僄儔乕偺応崌偼丄NULL傪曉媝偡傞乯
*/
TSmbMusicMWLibSongEditInfo* CSmbMusicAPSongInfoModel::EditInfo()
{
if(NULL == iEditInfo)
{
return NULL;
}
return iEditInfo->EditInfo();
}
/**
* 妝嬋忣曬曇廤梡椞堟偺巜掕妝嬋忣曬傪弶婜壔
*
* @param[in] aEditInfoPattern 弶婜壔偡傞忣曬偺敾掕價僢僩
* @return 張棟寢壥
*/
TInt CSmbMusicAPSongInfoModel::ResetEditInfo(TUint aEditInfoPattern)
{
return iEditInfo->ResetEditInfo(aEditInfoPattern);
}
/**
* 嬋ID偺庢摼
*
* @return 嬋ID
*/
TUint64 CSmbMusicAPSongInfoModel::SongId() const
{
return iDetailInfo.iSongId;
}
/**
* 嬋ID傪僙僢僩
*
* @param[in] aSongId 嬋ID
*/
void CSmbMusicAPSongInfoModel::SetSongId(TUint64 aSongId)
{
iDetailInfo.iSongId = aSongId;
}
/**
* 曇廤偟偨崁栚敾掕梡價僢僩偺庢摼
*
* @return 曇廤偟偨崁栚敾掕梡價僢僩
*/
TUint CSmbMusicAPSongInfoModel::EditPattern()
{
return iDetailInfo.iEditPattern;
}
/**
* 曇廤偟偨崁栚敾掕梡價僢僩偺壛偊傞
*
* @param[in] aEditPattern 曇廤偟偨崁栚價僢僩
*/
void CSmbMusicAPSongInfoModel::CombineEditPattern(TUint aEditPattern)
{
iDetailInfo.iEditPattern |= aEditPattern;
}
//ADD-E 汭弐
// end of SmbMusicAPSongInfoModel.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -