smbmusicapmainplayerfilterprocesscreateplaylist.cpp
来自「symbian」· C++ 代码 · 共 657 行 · 第 1/2 页
CPP
657 行
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 80;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::RequestCancel() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
if(EEditRequestCreatePlaylist == aKind
|| ESearchRequestGetListItems == aKind)
{
iEvent = EFilterProcessCreatePlaylistEventSyncServerCancel;
DoSequence();
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 81;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::RequestCancel() Unknown Event :%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, aKind);
}
}
/**
* 僐儞僥儞僣宯僀儀儞僩捠抦
*
* @param[in] aEvent 僐儞僥儞僣宯僀儀儞僩
*/
void CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::NotifyContentsEventL(TSmbMusicAPSyncEngineContentsEvent& aEvent)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 90;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::NotifyContentsEventL() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
if(ESmbMusicAPSyncEngineUpdateCreateInList == aEvent.iType)
{
SetResultIndex(aEvent.iInfo.iParam2);
iEvent = EFilterProcessCreatePlaylistEventSyncServerNotify;
DoSequence();
}
}
/**
* 僐儅儞僪張棟傪幚峴偡傞
* @param 側偟
* @return 側偟
*/
void CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::DoSequence()
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist |100;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::DoSequence() iState:%d iEvent:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState, iEvent);
#endif
switch(iState)
{
case EFilterProcessCreatePlaylistStateWaitStart: // 張棟奐巒懸偪
{
if(EFilterProcessCreatePlaylistEventStart == iEvent)
{
// SyncServerController偵捠抦僆僽僓乕僶搊榐傪峴偆
iSyncServer.SetSyncServerNotifyContentsObserver(this);
TInt result = iSyncServer.CreatePlaylist(iPlaylistTitle, iListHandle, EOwnerType_Filter, iRequestId, *this);
if(KErrNone == result)
{
iState = EFilterProcessCreatePlaylistStateCreatePlaylist;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist |101;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::DoSequence() CreatePlaylist() Error :%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, result);
iResult = result;
iState = EFilterProcessCreatePlaylistStateErr;
NextState();
}
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist |102;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::DoSequence() Unmatch Event iState:%d iEvent:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState, iEvent);
}
}
break;
case EFilterProcessCreatePlaylistStateCreatePlaylist: // 僾儗僀儕僗僩嶌惉拞
{
switch(iEvent)
{
case EFilterProcessCreatePlaylistEventSyncServerComplete:
{
if(EFalse != iSetResultIndex)
{
if(0 <= iResultIndex)
{
iTopIndex = 0;
iCount = iSyncServer.GetItemCount(iListHandle);
TInt result = iSyncServer.GetListItemsFromList(iListHandle, iTopIndex, iCount, EOwnerType_Filter, iRequestId, *this);
if(KErrNone == result)
{
iState = EFilterProcessCreatePlaylistStateGetListItems;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessEditPlaylistTitle |102;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessEditPlaylistTitle::DoSequence() GetListItemsFromList() Error :%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, result);
iResult = result;
iState = EFilterProcessCreatePlaylistStateErr;
NextState();
}
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist |103;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::DoSequence() Illeagal Index :%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iResultIndex);
iResult = KErrGeneral;
iState = EFilterProcessCreatePlaylistStateErr;
NextState();
}
}
else
{
iState = EFilterProcessCreatePlaylistStateWaitResult; // 寢壥捠抦懸偪
}
}
break;
case EFilterProcessCreatePlaylistEventSyncServerCancel:
{
iResult = KErrCancel;
iState = EFilterProcessCreatePlaylistStateErr;
NextState();
}
break;
case EFilterProcessCreatePlaylistEventSyncServerErr:
{
iState = EFilterProcessCreatePlaylistStateErr;
NextState();
}
break;
// Add-S PTX-824懳墳懳墳(TRK-828)丂暯壀
case EFilterProcessCreatePlaylistEventSyncServerErrDiskFull:
{
iObserver.HandleDialogCommandL(EShowWarningModelessDialog,
R_DL_MUSIC_MAIN_FLT_DISK_FULL_ERR);
iState = EFilterProcessCreatePlaylistStateErr;
NextState();
}
break;
// Add-E PTX-824懳墳懳墳(TRK-828)丂暯壀
case EFilterProcessCreatePlaylistEventSyncServerNotify:
{
// 壗傕偟側偄
}
break;
default:
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist |104;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::DoSequence() Unmatch Event iState:%d iEvent:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState, iEvent);
}
break;
}
}
break;
case EFilterProcessCreatePlaylistStateWaitResult: // 嶌惉寢壥捠抦懸偪
{
if(EFilterProcessCreatePlaylistEventSyncServerNotify == iEvent)
{
if(0 <= iResultIndex)
{
iTopIndex = 0;
iCount = iSyncServer.GetItemCount(iListHandle);
TInt result = iSyncServer.GetListItemsFromList(iListHandle, iTopIndex, iCount, EOwnerType_Filter, iRequestId, *this);
if(KErrNone == result)
{
iState = EFilterProcessCreatePlaylistStateGetListItems;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist |105;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::DoSequence() GetListItemsFromList() Error :%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, result);
iResult = result;
iState = EFilterProcessCreatePlaylistStateErr;
NextState();
}
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist |106;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::DoSequence() Illeagal Index :%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iResultIndex);
iResult = KErrGeneral;
iState = EFilterProcessCreatePlaylistStateErr;
NextState();
}
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist |107;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::DoSequence() Unmatch Event iState:%d iEvent:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState, iEvent);
}
}
break;
case EFilterProcessCreatePlaylistStateGetListItems: // 傾僀僥儉庢摼拞
{
switch(iEvent)
{
case EFilterProcessCreatePlaylistEventSyncServerComplete:
{
iResult = KErrNone;
iState = EFilterProcessCreatePlaylistStateEnd;
NextState();
}
break;
case EFilterProcessCreatePlaylistEventSyncServerCancel:
{
iResult = KErrCancel;
iState = EFilterProcessCreatePlaylistStateErr;
NextState();
}
break;
case EFilterProcessCreatePlaylistEventSyncServerErr:
{
iState = EFilterProcessCreatePlaylistStateErr;
NextState();
}
break;
default:
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist |108;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::DoSequence() Unmatch Event iState:%d iEvent:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState, iEvent);
}
break;
}
}
break;
case EFilterProcessCreatePlaylistStateIdle: // 枹張棟
case EFilterProcessCreatePlaylistStateEnd: // 張棟廔椆
case EFilterProcessCreatePlaylistStateErr: // 僄儔乕廔椆
default:
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist |109;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::DoSequence() Invaild State iState:%d iEvent:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState, iEvent);
}
break;
}
}
/**
* 偡傋偰偺僐儅儞僪幚峴偑廔傢偭偨偐偳偆偐妋擣偡傞
* @param 側偟
* @return 廔椆敾掕(ETrue:姰椆嵪 EFalse丗枹姰椆)
*/
TBool CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::IsSequenceFinished()
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist |110;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::IsSequenceFinished() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
TBool finish = EFalse;
switch(iState)
{
case EFilterProcessCreatePlaylistStateEnd:
case EFilterProcessCreatePlaylistStateErr:
finish = ETrue;
break;
default:
break;
}
return finish;
}
/**
* 張棟寢壥偺僀儞僨僢僋僗傪曐懚偡傞
* @param[in] aIndex 僀儞僨僢僋僗
* @return 側偟
*/
void CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::SetResultIndex(TInt aIndex)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist |120;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::SetResultIndex() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
iResultIndex = aIndex;
iSetResultIndex = ETrue;
}
SEMCJ_NAMESPACE_END
// end of SmbMusicAPMainPlayerFilterProcessCreatePlaylist.cpp
/* Copyright (C) 2006-2007 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?