📄 smbmusicapmainplayerfilterprocessduplicateplaylist.cpp
字号:
/* Copyright (C) 2007 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPMainPlayerFilterProcessDuplicatePlaylist.cpp
//
// Description:
// 儈儏乕僕僢僋儊僀儞僾儗僀儎
// 僾儗僀儕僗僩暋惢僋儔僗
/*-------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//---------------------------------------------------------------------------
//2007/04/02 |SEMC暯壀 |怴婯嶌惉
//2007/05/22 |SEMCJ暯壀 |TRK-828懳墳
#include <FjAfEnv.h>
#include <SmbMusicAPMainPlayer.rsg>
#include "SmbMusicAPMainPlayerUtility.h"
#include "SmbMusicAPMainPlayerFilterProcessDuplicatePlaylist.h"
USING_NAMESPACE_DCM
SEMCJ_NAMESPACE_BEGIN
/**
僐儞僗僩儔僋僞
* @param[in] aObserver 僆僽僓乕僶偺億僀儞僞
* @param[in] aSyncServerController 摨婜僒乕僶惂屼偺嶲徠
* @return 側偟
*/
CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist(
MSmbMusicAPMainPlayerFilterProcessObserver& aObserver,
CSmbMusicAPMainPlayerFilterSyncServerController& aSyncServerController)
:CSmbMusicAPMainPlayerFilterProcess(aObserver)
, iEvent(EFilterProcessDuplicatePlaylistEventStart)
, iState(EFilterProcessDuplicatePlaylistStateIdle)
, iSyncServer(aSyncServerController)
, iSetResultIndex(EFalse)
, iLog(CAfEnv::Static()->Log())
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 00;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist()");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif
}
/**
僨僗僩儔僋僞
* @param 側偟
* @return 側偟
*/
CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::~CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist()
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 10;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::~CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist()");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif
if(EFilterProcessDuplicatePlaylistStateDuplicatePlaylist == iState)
{
iSyncServer.CancelRequest(iRequestId, EFalse);
}
iItems.Close();
// SyncServerController偺捠抦僆僽僓乕僶搊榐傪夝彍偡傞
// iSyncServer.RemoveSyncServerNotifyContentsObserver(this);
}
/**
僷儔儊乕僞愝掕
* @param[in] aListHandle 儕僗僩僴儞僪儖
* @param[in] aIndex 僀儞僨僢僋僗
* @param[in] aTitle 僾儗僀儕僗僩柤
* @return 愝掕偺惉斲
*/
TBool CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::SetParam(TInt aListHandle,
TInt aIndex,
const TDesC& aTitle)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 20;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::SetParam(aListHandle:0x%08x)");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, aListHandle);
#endif
if( EFilterProcessDuplicatePlaylistStateIdle == iState ||
EFilterProcessDuplicatePlaylistStateWaitStart == iState )
{
iListHandle = aListHandle;
iIndex = aIndex;
iPlaylistTitle = aTitle;
iState = EFilterProcessDuplicatePlaylistStateWaitStart;
return ETrue;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 21;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::SetParam() Cannot Set in This State %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
return EFalse;
}
}
/**
儕僗僩僴儞僪儖庢摼
* @param 側偟
* @return 儕僗僩僴儞僪儖
*/
TInt CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::GetParamListHandle()
{
return iListHandle;
}
/**
傾僀僥儉偺愭摢僀儞僨僢僋僗庢摼
* @param[out] aTopIndex 愭摢僀儞僨僢僋僗 奿擺応強偺嶲徠
* @return 庢摼偺惉斲乮張棟偑廔椆偟偰偄傞偐偳偆偐乯
*/
TBool CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::GetTopIndex(TInt& aTopIndex)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 30;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::GetTopIndex() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
if(EFilterProcessDuplicatePlaylistStateEnd == iState)
{
aTopIndex = iTopIndex;
return ETrue;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 32;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::GetTopIndex() Process Not Complete %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState);
aTopIndex = 0;
return EFalse;
}
}
/**
傾僀僥儉悢傪庢摼
* @param[out] aCount 傾僀僥儉悢 奿擺応強偺嶲徠
* @return 庢摼偺惉斲乮張棟偑廔椆偟偰偄傞偐偳偆偐乯
*/
TBool CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::GetCount(TInt& aCount)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 40;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::GetCount() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
if(EFilterProcessDuplicatePlaylistStateEnd == iState)
{
aCount = iCount;
return ETrue;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 41;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::GetCount() Process Not Complete %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState);
aCount = 0;
return EFalse;
}
}
/**
傾僀僥儉忣曬庢摼
* @param[out] aItems 傾僀僥儉忣曬 奿擺応強偺嶲徠
* @return 庢摼偺惉斲乮張棟偑廔椆偟偰偄傞偐偳偆偐乯
*/
TBool CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::GetItems(RArray<TSmbMusicAPSyncEngineListItemInfo>& aItems)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 50;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::GetItems() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
if(EFilterProcessDuplicatePlaylistStateEnd == iState)
{
aItems.Reset();
TInt count = iItems.Count();
for(TInt i=0; i<count; i++)
{
TInt error = aItems.Append(iItems[i]);
if(KErrNone != error)
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 51;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::GetItems() Append Err %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHighest, KLogFmt, error);
PANIC(9100003);
}
}
return ETrue;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 52;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::GetItems() Process Not Complete %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState);
return EFalse;
}
}
/**
憓擖偝傟偨僀儞僨僢僋僗庢摼
* @param[out] aIndex 僀儞僨僢僋僗 奿擺応強偺嶲徠
* @return 庢摼偺惉斲乮張棟偑廔椆偟偰偄傞偐偳偆偐乯
*/
TBool CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::GetIndex(TInt& aIndex)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 60;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::GetIndex() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
if(EFilterProcessDuplicatePlaylistStateEnd == iState)
{
aIndex = iResultIndex;
return ETrue;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 61;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::GetItems() Process Not Complete %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState);
aIndex = 0;
return EFalse;
}
}
/**
* 梫媮姰椆
*
* @param[in] aKind 梫媮庬暿
* @param[in] aResult 張棟寢壥
* @param[in] aResponse 墳摎僋儔僗偺嶲徠乮忣曬庢摼梡乯
*/
void CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::RequestComplete( TSmbMusicAPMainPlayerRequest aKind,
TInt aResult,
MSmbMusicAPMainPlayerFilterSyncServerProcessResponse& aResponse)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 70;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::RequestComplete() iState:%d aResult:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState, aResult);
#endif
if(EEditRequestDuplicatePlaylist == aKind)
{
if(KErrNone == aResult)
{
iEvent = EFilterProcessDuplicatePlaylistEventSyncServerComplete;
}
// Add-S PTX-824懳墳(TRK-828) 暯壀
else if (KErrDiskFull == aResult)
{
iResult = aResult;
iEvent = EFilterProcessDuplicatePlaylistEventSyncServerErrDiskFull;
}
// Add-E PTX-824懳墳(TRK-828) 暯壀
else
{
iResult = aResult;
iEvent = EFilterProcessDuplicatePlaylistEventSyncServerErr;
}
// DoSequence();
}
else if(ESearchRequestGetListItems == aKind)
{
if(0<aResult)
{
iItems.Reset();
CArrayFixFlat<TSmbMusicAPSyncEngineListItemInfo>& items = aResponse.GetResultItemInfoArray();
TInt count = aResult;
for(TInt i=0; i<count; i++ )
{
TInt error = iItems.Append(items[i]);
if(KErrNone != error)
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 71;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::RequestComplete() Append Err %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHighest, KLogFmt, error);
PANIC(9100004);
}
}
iEvent = EFilterProcessDuplicatePlaylistEventSyncServerComplete;
}
else
{
iResult = aResult;
iEvent = EFilterProcessDuplicatePlaylistEventSyncServerErr;
}
// DoSequence();
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 72;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::RequestComplete() Unknown Event :%d aResult = %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, aKind, aResult);
iResult = aResult;
iEvent = EFilterProcessDuplicatePlaylistEventSyncServerErr;
}
DoSequence();
}
/**
* 梫媮僉儍儞僙儖
*
* @param[in] aKind 梫媮庬暿
* @param[in] aResponse 墳摎僋儔僗偺嶲徠乮忣曬庢摼梡乯
*/
void CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::RequestCancel(TSmbMusicAPMainPlayerRequest aKind,
MSmbMusicAPMainPlayerFilterSyncServerProcessResponse& /*aResponse*/)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist | 80;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist::RequestCancel() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -