smbmusicapmainplayerfilterprocesscreateplaylist.cpp
来自「symbian」· C++ 代码 · 共 657 行 · 第 1/2 页
CPP
657 行
/* Copyright (C) 2005-2007 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPMainPlayerFilterProcessCreatePlaylist.cpp
//
// Description:
// 儈儏乕僕僢僋儊僀儞僾儗僀儎
// 傾僀僥儉忣曬庢摼張棟僋儔僗
/*-------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//---------------------------------------------------------------------------
//2006/08/16 |SDNA壀嶳 |怴婯嶌惉
//2006/10/12 |SDNA壀嶳 |怴婯嶌惉屻偺傾僀僥儉庢摼傪捛壛
//2007/05/22 |SEMCJ暯壀 |TRK-828懳墳
#include <FjAfEnv.h>
#include <SmbMusicAPMainPlayer.rsg>
#include "SmbMusicAPMainPlayerUtility.h"
#include "SmbMusicAPMainPlayerFilterProcessCreatePlaylist.h"
USING_NAMESPACE_DCM
SEMCJ_NAMESPACE_BEGIN
/**
僐儞僗僩儔僋僞
* @param[in] aObserver 僆僽僓乕僶偺億僀儞僞
* @param[in] aSyncServerController 摨婜僒乕僶惂屼偺嶲徠
* @return 側偟
*/
CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::CSmbMusicAPMainPlayerFilterProcessCreatePlaylist(
MSmbMusicAPMainPlayerFilterProcessObserver& aObserver,
CSmbMusicAPMainPlayerFilterSyncServerController& aSyncServerController)
:CSmbMusicAPMainPlayerFilterProcess(aObserver)
, iEvent(EFilterProcessCreatePlaylistEventStart)
, iState(EFilterProcessCreatePlaylistStateIdle)
, iSyncServer(aSyncServerController)
, iSetResultIndex(EFalse)
, iLog(CAfEnv::Static()->Log())
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 00;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::CSmbMusicAPMainPlayerFilterProcessCreatePlaylist()");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif
}
/**
僨僗僩儔僋僞
* @param 側偟
* @return 側偟
*/
CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::~CSmbMusicAPMainPlayerFilterProcessCreatePlaylist()
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 10;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::~CSmbMusicAPMainPlayerFilterProcessCreatePlaylist()");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif
if(EFilterProcessCreatePlaylistStateCreatePlaylist == iState)
{
iSyncServer.CancelRequest(iRequestId, EFalse);
}
iItems.Close();
// SyncServerController偺捠抦僆僽僓乕僶搊榐傪夝彍偡傞
iSyncServer.RemoveSyncServerNotifyContentsObserver(this);
}
/**
僷儔儊乕僞愝掕
* @param[in] aListHandle 儕僗僩僴儞僪儖
* @param[in] aTitle 僾儗僀儕僗僩柤
* @return 愝掕偺惉斲
*/
TBool CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::SetParam(TInt aListHandle, const TDesC& aTitle)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 20;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::SetParam(aListHandle:0x%08x)");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, aListHandle);
#endif
if( EFilterProcessCreatePlaylistStateIdle == iState ||
EFilterProcessCreatePlaylistStateWaitStart == iState )
{
iListHandle = aListHandle;
iPlaylistTitle = aTitle;
iState = EFilterProcessCreatePlaylistStateWaitStart;
return ETrue;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 21;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::SetParam() Cannot Set in This State %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
return EFalse;
}
}
/**
儕僗僩僴儞僪儖庢摼
* @param 側偟
* @return 儕僗僩僴儞僪儖
*/
TInt CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::GetParamListHandle()
{
return iListHandle;
}
/**
傾僀僥儉偺愭摢僀儞僨僢僋僗庢摼
* @param[out] aTopIndex 愭摢僀儞僨僢僋僗 奿擺応強偺嶲徠
* @return 庢摼偺惉斲乮張棟偑廔椆偟偰偄傞偐偳偆偐乯
*/
TBool CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::GetTopIndex(TInt& aTopIndex)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 30;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::GetTopIndex() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
if(EFilterProcessCreatePlaylistStateEnd == iState)
{
aTopIndex = iTopIndex;
return ETrue;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 32;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::GetTopIndex() Process Not Complete %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState);
aTopIndex = 0;
return EFalse;
}
}
/**
傾僀僥儉悢傪庢摼
* @param[out] aCount 傾僀僥儉悢 奿擺応強偺嶲徠
* @return 庢摼偺惉斲乮張棟偑廔椆偟偰偄傞偐偳偆偐乯
*/
TBool CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::GetCount(TInt& aCount)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 40;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::GetCount() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
if(EFilterProcessCreatePlaylistStateEnd == iState)
{
aCount = iCount;
return ETrue;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 41;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::GetCount() Process Not Complete %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState);
aCount = 0;
return EFalse;
}
}
/**
傾僀僥儉忣曬庢摼
* @param[out] aItems 傾僀僥儉忣曬 奿擺応強偺嶲徠
* @return 庢摼偺惉斲乮張棟偑廔椆偟偰偄傞偐偳偆偐乯
*/
TBool CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::GetItems(RArray<TSmbMusicAPSyncEngineListItemInfo>& aItems)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 50;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::GetItems() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
if(EFilterProcessCreatePlaylistStateEnd == 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_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 51;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::GetItems() Append Err %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHighest, KLogFmt, error);
PANIC(9100000);
}
}
return ETrue;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 52;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::GetItems() Process Not Complete %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState);
return EFalse;
}
}
/**
憓擖偝傟偨僀儞僨僢僋僗庢摼
* @param[out] aIndex 僀儞僨僢僋僗 奿擺応強偺嶲徠
* @return 庢摼偺惉斲乮張棟偑廔椆偟偰偄傞偐偳偆偐乯
*/
TBool CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::GetIndex(TInt& aIndex)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 60;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::GetIndex() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
if(EFilterProcessCreatePlaylistStateEnd == iState)
{
aIndex = iResultIndex;
return ETrue;
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 61;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::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 CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::RequestComplete( TSmbMusicAPMainPlayerRequest aKind,
TInt aResult,
MSmbMusicAPMainPlayerFilterSyncServerProcessResponse& aResponse)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 70;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::RequestComplete() iState:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif
if(EEditRequestCreatePlaylist == aKind)
{
if(KErrNone == aResult)
{
iEvent = EFilterProcessCreatePlaylistEventSyncServerComplete;
}
// Add-S PTX-824懳墳(TRK-828) 暯壀
else if (KErrDiskFull == aResult)
{
iResult = aResult;
iEvent = EFilterProcessCreatePlaylistEventSyncServerErrDiskFull;
}
// Add-E PTX-824懳墳(TRK-828) 暯壀
else
{
iResult = aResult;
iEvent = EFilterProcessCreatePlaylistEventSyncServerErr;
}
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_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 71;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::RequestComplete() Append Err %d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHighest, KLogFmt, error);
PANIC(9100001);
}
}
iEvent = EFilterProcessCreatePlaylistEventSyncServerComplete;
}
else
{
iResult = aResult;
iEvent = EFilterProcessCreatePlaylistEventSyncServerErr;
}
DoSequence();
}
else
{
TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessCreatePlaylist | 72;
_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::RequestComplete() Unknown Event :%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, aKind);
}
}
/**
* 梫媮僉儍儞僙儖
*
* @param[in] aKind 梫媮庬暿
* @param[in] aResponse 墳摎僋儔僗偺嶲徠乮忣曬庢摼梡乯
*/
void CSmbMusicAPMainPlayerFilterProcessCreatePlaylist::RequestCancel(TSmbMusicAPMainPlayerRequest aKind,
MSmbMusicAPMainPlayerFilterSyncServerProcessResponse& /*aResponse*/)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?