⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smbmusicapmainplayerfilterprocessduplicateplaylist.cpp

📁 symbian
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* 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 + -