smbmusicapmainplayerfilterprocessgetlistfromsearchtop.cpp
来自「symbian」· C++ 代码 · 共 413 行
CPP
413 行
/* Copyright (C) 2005-2007 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPMainPlayerFilterProcessGetListFromSearchTop.cpp
//
// Description:
// 儈儏乕僕僢僋儊僀儞僾儗僀儎
// 儕僗僩庢摼乮Top偐傜乯張棟僋儔僗
/*-------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//---------------------------------------------------------------------------
//2006/08/14 |SDNA壀嶳 |怴婯嶌惉
#include <FjAfEnv.h>
#include "SmbMusicAPMainPlayerUtility.h"
#include "SmbMusicAPMainPlayerFilterProcessGetListFromSearchTop.h"
USING_NAMESPACE_DCM
SEMCJ_NAMESPACE_BEGIN
/**
僐儞僗僩儔僋僞
* @param[in] aObserver 僆僽僓乕僶偺億僀儞僞
* @param[in] aSyncServerController 摨婜僒乕僶惂屼偺嶲徠
* @return 側偟
*/
CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop:: CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop(
MSmbMusicAPMainPlayerFilterProcessObserver& aObserver,
CSmbMusicAPMainPlayerFilterSyncServerController& aSyncServerController)
:CSmbMusicAPMainPlayerFilterProcess(aObserver)
, iEvent(EFilterProcessGetListFromSearchTopEventStart)
, iState(EFilterProcessGetListFromSearchTopStateIdle)
, iSyncServer(aSyncServerController)
, iLog(CAfEnv::Static()->Log())
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 00;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop()");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif
}
/**
僨僗僩儔僋僞
* @param 側偟
* @return 側偟
*/
CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::~CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop()
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 10;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::~CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop()");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif
if(EFilterProcessGetListFromSearchTopStateGetList == iState)
{
iSyncServer.CancelRequest(iRequestId, EFalse);
}
}
/**
僷儔儊乕僞愝掕
* @param[in] aSearchCondition 専嶕忦審
* @param[in] aRequestListType 梫媮儕僗僩庬暿
* @return 愝掕偺惉斲
*/
TBool CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::SetParam(TSmbMusicAPSyncEngineSearchCondition aSearchCondition,
TSmbMusicAPSyncEngineRequestListType aRequestListType)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 20;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::SetParam(aSearchCondition:%d,aRequestListType:%d)");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, aSearchCondition, aRequestListType);
#endif
if( EFilterProcessGetListFromSearchTopStateIdle == iState ||
EFilterProcessGetListFromSearchTopStateWaitStart == iState ||
EFilterProcessGetListFromSearchTopStateWaitStartForInsert == iState )
{
iSearchCondition = aSearchCondition;
iRequestListType = aRequestListType;
iState = EFilterProcessGetListFromSearchTopStateWaitStart;
return ETrue;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 21;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::SetParam() Cannot Set in This State %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
return EFalse;
}
}
/**
儌乕僪愝掕乮僾儗僀儕僗僩捛壛愭慖戰儌乕僪傊乯
* @param 側偟
* @return 儌乕僪愝掕偺惉斲
*/
TBool CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::SetInsertSelectMode()
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 30;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::SetInsertSelectMode()");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif
if( EFilterProcessGetListFromSearchTopStateIdle == iState ||
EFilterProcessGetListFromSearchTopStateWaitStart == iState ||
EFilterProcessGetListFromSearchTopStateWaitStartForInsert == iState )
{
iState = EFilterProcessGetListFromSearchTopStateWaitStartForInsert;
return ETrue;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 31;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::SetInsertSelectMode() Cannot Set in This State %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
return EFalse;
}
}
/**
儕僗僩僴儞僪儖庢摼
* @param[out] aListHandle 儕僗僩僴儞僪儖 奿擺応強偺嶲徠
* @return 庢摼偺惉斲乮張棟偑廔椆偟偰偄傞偐偳偆偐乯
*/
TBool CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::GetListHandle(TInt& aListHandle)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 40;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::GetListHandle() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
if(EFilterProcessGetListFromSearchTopStateEnd == iState)
{
aListHandle = iListHandle;
return ETrue;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 41;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::GetListHandle() Process Not Complete %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState);
aListHandle = 0;
return EFalse;
}
}
/**
儕僗僩偺傾僀僥儉悢傪庢摼
* @param[out] aCount 儕僗僩傾僀僥儉悢 奿擺応強偺嶲徠
* @return 庢摼偺惉斲乮張棟偑廔椆偟偰偄傞偐偳偆偐乯
*/
TBool CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::GetCount(TInt& aCount)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 50;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::GetCount() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
if(EFilterProcessGetListFromSearchTopStateEnd == iState)
{
aCount = iItemCount;
return ETrue;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 51;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::GetCount() Process Not Complete %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState);
aCount = 0;
return EFalse;
}
}
/**
* 梫媮姰椆
*
* @param[in] aKind 梫媮庬暿
* @param[in] aResult 張棟寢壥
* @param[in] aResponse 墳摎僋儔僗偺嶲徠乮忣曬庢摼梡乯
*/
void CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::RequestComplete(TSmbMusicAPMainPlayerRequest aKind,
TInt aResult,
MSmbMusicAPMainPlayerFilterSyncServerProcessResponse& aResponse)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 60;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::RequestComplete() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
if(ESearchRequestGetListFromSearchTop == aKind
|| ESearchRequestGetOriginalPlayListForInsert == aKind)
{
if(KErrNone == aResult)
{
TSmbMusicAPSyncEngineListInfo& listInfo = aResponse.GetResultListInfo();
iListHandle = listInfo.iListHandle;
iItemCount = listInfo.iCount;
iEvent = EFilterProcessGetListFromSearchTopEventSyncServerComplete;
}
else
{
iResult = aResult;
iEvent = EFilterProcessGetListFromSearchTopEventSyncServerErr;
}
DoSequence();
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 61;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::RequestComplete() Unknown Event :%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, aKind);
}
}
/**
* 梫媮僉儍儞僙儖
*
* @param[in] aKind 梫媮庬暿
* @param[in] aResponse 墳摎僋儔僗偺嶲徠乮忣曬庢摼梡乯
*/
void CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::RequestCancel( TSmbMusicAPMainPlayerRequest aKind,
MSmbMusicAPMainPlayerFilterSyncServerProcessResponse& /*aResponse*/)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 70;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::RequestCancel() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
if(ESearchRequestGetListFromSearchTop == aKind
|| ESearchRequestGetOriginalPlayListForInsert == aKind)
{
iEvent = EFilterProcessGetListFromSearchTopEventSyncServerCancel;
DoSequence();
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 71;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::RequestCancel() Unknown Event :%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, aKind);
}
}
/**
* 僐儅儞僪張棟傪幚峴偡傞
* @param 側偟
* @return 側偟
*/
void CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::DoSequence()
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 80;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::DoSequence() iState:%d iEvent:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState, iEvent);
#endif
switch(iState)
{
case EFilterProcessGetListFromSearchTopStateWaitStart: // 張棟奐巒懸偪
case EFilterProcessGetListFromSearchTopStateWaitStartForInsert: // 張棟奐巒懸偪(僾儗僀儕僗僩捛壛愭慖戰梡)
{
if(EFilterProcessGetListFromSearchTopEventStart == iEvent)
{
TInt result = KErrNone;
if(EFilterProcessGetListFromSearchTopStateWaitStart == iState)
{
result = iSyncServer.GetListFromSearchTop(iSearchCondition, iRequestListType, EOwnerType_Filter, iRequestId, *this);
if(KErrNone != result)
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 81;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::DoSequence() GetListFromSearchTop() Error :%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, result);
}
}
else
{
result = iSyncServer.GetOriginalPlayListForInsert(EOwnerType_Filter, iRequestId, *this);
if(KErrNone != result)
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 82;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::DoSequence() GetOriginalPlayListForInsert() Error :%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, result);
}
}
if(KErrNone == result)
{
iState = EFilterProcessGetListFromSearchTopStateGetList;
}
else
{
iResult = result;
iState = EFilterProcessGetListFromSearchTopStateErr;
NextState();
}
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 83;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::DoSequence() Unmatch Event iState:%d iEvent:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState, iEvent);
}
}
break;
case EFilterProcessGetListFromSearchTopStateGetList: // 儕僗僩庢摼拞
{
switch(iEvent)
{
case EFilterProcessGetListFromSearchTopEventSyncServerComplete:
{
iResult = KErrNone;
iState = EFilterProcessGetListFromSearchTopStateEnd;
NextState();
}
break;
case EFilterProcessGetListFromSearchTopEventSyncServerCancel:
{
iResult = KErrCancel;
iState = EFilterProcessGetListFromSearchTopStateErr;
NextState();
}
break;
case EFilterProcessGetListFromSearchTopEventSyncServerErr:
{
iState = EFilterProcessGetListFromSearchTopStateErr;
NextState();
}
break;
default:
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 85;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::DoSequence() Unmatch Event iState:%d iEvent:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState, iEvent);
}
break;
}
}
break;
case EFilterProcessGetListFromSearchTopStateIdle: // 枹張棟
case EFilterProcessGetListFromSearchTopStateEnd: // 張棟廔椆
case EFilterProcessGetListFromSearchTopStateErr: // 僄儔乕廔椆
default:
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 86;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::DoSequence() Invaild State iState:%d iEvent:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState, iEvent);
}
break;
}
}
/**
* 偡傋偰偺僐儅儞僪幚峴偑廔傢偭偨偐偳偆偐妋擣偡傞
* @param 側偟
* @return 廔椆敾掕(ETrue:姰椆嵪 EFalse丗枹姰椆)
*/
TBool CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::IsSequenceFinished()
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop | 90;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessGetListFromSearchTop::IsSequenceFinished() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
TBool finish = EFalse;
switch(iState)
{
case EFilterProcessGetListFromSearchTopStateEnd:
case EFilterProcessGetListFromSearchTopStateErr:
finish = ETrue;
break;
default:
break;
}
return finish;
}
SEMCJ_NAMESPACE_END
// end of SmbMusicAPMainPlayerFilterProcessGetListFromSearchTop.cpp
/* Copyright (C) 2005-2007 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?