smbmusicapmainplayerfiltersyncserverprocess.cpp

来自「symbian」· C++ 代码 · 共 1,793 行 · 第 1/4 页

CPP
1,793
字号
/* Copyright (C) 2006-2007 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//  SmbMusicAPMainPlayerFilterSyncServerProcess.cpp
//
// Description: 
//  CSmbMusicAPMainPlayerFilterSyncServerProcess class source.
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅         		|曄峏幰	|撪梕
//--------------+-----------+----------------------------------------------
//2006/06/09	|SDNA 彫椦 | 怴婯嶌惉
//2006/07/06	|SDNA 彫椦 | 曇廤宯張棟偱偺API梫媮庬暿傪愝掕偝傟側偄晄嬶崌傪廋惓
//2006/07/07	|SDNA 彫椦 | GetListItems偺巇條曄峏偵敽偆廋惓
//2006/07/08	|SDNA嶳壀	| 愝掕宯傪嶍彍
//2006/07/16	|SDNA嶳壀	| SyncEngine偺捛壛I/F偵懳墳
//2006/07/21	|SDNA 彫椦	| 僒儉僱僀儖昞帵懳墳
//2006/07/31	|SDNA 壀嶳	| 晄梫側張棟傪嶍彍
//2006/07/31	|SDNA 壀嶳	| Leave娭悢仺捠忢娭悢丄捠忢娭悢仺Leave娭悢傊偺曄峏
//2006/07/31	|SDNA 壀嶳	| RunL偵偰昁偢XXXXRequestCompleteL
//2006/07/31	|SDNA 壀嶳	| Cancel張棟傪幚憰
//2006/07/31	|SDNA 壀嶳	| 梫媮庬暿僐乕僪傪摑堦
//2006/08/31	|SDNA 壀嶳	| 梫媮尦暿偵張棟傪幚峴偱偒傞傛偆偵廋惓
//2006/09/11	|SDNA 彫椦	| GetImageCount傪捛壛
//2007/04/11	|SEMCJ暯壀	| PTX-824懳墳
//2007/05/17	|SEMCJ暯壀	| UIQ-1535懳墳
//2007/07/05	|SEMCJ暯壀| QAC++懳墳

#include <f32file.h>
#include <FjAfEnv.h>
#include "SmbMusicAPMainPlayerUtility.h"

#ifndef __SMBMUSICAPMAINPLAYERFILTERSYNCSERVERPROCESS_H__
#include "SmbMusicAPMainPlayerFilterSyncServerProcess.h"
#endif


SEMCJ_NAMESPACE_BEGIN
///////////////////////////////////////////////////////////////////////////////


/**
 * 僐儞僗僩儔僋僞
 *
 * @param[in]	aModel			儌僨儖僋儔僗
 */
CSmbMusicAPMainPlayerFilterSyncServerProcess::CSmbMusicAPMainPlayerFilterSyncServerProcess( CSmbMusicAPMainPlayerFilterSyncServerControllerForEachOwner& 	aController, 
																							CSmbMusicAPSyncEngine&											aEngine,
																							CSmbMusicAPLibImageFunc&										aImageFunc,
																							MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aObserver)
	: CActive(EPriorityStandard)
	, iController(aController)
	, iEngine(aEngine)
	, iImageFunc(aImageFunc)
	, iRequestKind(ERequestUnknown)
	, iStarted(EFalse)
	, iObserver(aObserver)
	, iResponce(ETrue)
	, iMakeBitmap(EFalse)
	, iLog(CAfEnv::Static()->Log())
	{
	//帺恎傪傾僋僥傿僽僗働僕儏乕儔偵捛壛偡傞
	CActiveScheduler::Add(this);
	}

/**
 * 僨僗僩儔僋僞
 */
CSmbMusicAPMainPlayerFilterSyncServerProcess::~CSmbMusicAPMainPlayerFilterSyncServerProcess()
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerProcess | 00;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerProcess::~CSmbMusicAPMainPlayerFilterSyncServerProcess()");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	//梫媮傪僉儍儞僙儖偡傞
	Cancel();

	if(EFalse != iResponce)
		{
		iResponce = EFalse;
		iObserver.RequestCancel(iRequestKind, *this);
		}

	iSizeArray.Close();

	ResetThumbnailBitmapArray();
	iThumbnailBitmapArray.Close();

	delete iOutput;
	iIndexArray.Close();

	delete iItemInfoArray;

	ResetSongImageInfo();
	
//ADD-S TRK7502 2006/09/25 kobayashi
	iConvertSizeArray.Close();
	ResetConvertBitmapArray();
//ADD-E TRK7502 2006/09/25 kobayashi
	}

/**
 * 僒儉僱僀儖庢摼梫媮
 *
 * @param[in]	aListHandle	儕僗僩僴儞僪儖
 * @param[in]	aIndex		僀儞僨僢僋僗
 */
void CSmbMusicAPMainPlayerFilterSyncServerProcess::GetPlayThumbnailImage(TInt aListHandle, TInt aIndex)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerProcess | 10;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerProcess::GetPlayThumbnailImage(aListHandle:0x%08x, aIndex:%d)");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, aListHandle, aIndex);
#endif

	iRequestKind = EDispRequestGetPlayThumbnailImage;
	iListHandle	 = aListHandle;
	iIndex		 = aIndex;
	
	iFileName = KSmbMusicAPMainPlayerThumbnailImageFile;
	}

/**
 * 夋憸儕僒僀僘梫媮
 *
 * @param[in]	aResizeSrcBitmap		尦夋憸
 * @param[in]	aResizeSrcMaskBitmap	尦夋憸(儅僗僋)
 * @param[in]	aReisizeSize			僒僀僘
 */
void CSmbMusicAPMainPlayerFilterSyncServerProcess::ResizeImage( CFbsBitmap* 				aResizeSrcBitmap, 
																CFbsBitmap* 				aResizeSrcMaskBitmap, 
																TSize 						aReisizeSize)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerProcess | 20;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerProcess::ResizeImage()");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	iRequestKind					= EDispRequestResizeImage;
	iResizeSrcBitmap.iMainBitmap	= aResizeSrcBitmap;
	iResizeSrcBitmap.iMaskedBitmap	= aResizeSrcMaskBitmap;
	iReisizeSize					= aReisizeSize;
	}

/**
 * 専嶕Top偐傜専嶕寢壥偺儕僗僩傪庢摼偡傞
 *
 * @param[in]	aSearchCondition	専嶕忦審
 * @param[in]	aRequestListType	梫媮儕僗僩庬暿
 */
void CSmbMusicAPMainPlayerFilterSyncServerProcess::GetListFromSearchTop(TSmbMusicAPSyncEngineSearchCondition	aSearchCondition,
																		TSmbMusicAPSyncEngineRequestListType	aRequestListType)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerProcess | 30;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerProcess::GetListFromSearchTop()");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	iRequestKind	 = ESearchRequestGetListFromSearchTop;
	iSearchCondition = aSearchCondition;
	iRequestListType = aRequestListType;
	}

/**
 * 専嶕忦審傪巜掕偟偰専嶕寢壥偺儕僗僩傪庢摼偡傞
 *
 * @param[in]	aListHandle				儕僗僩僴儞僪儖
 * @param[in]	aIndex					僀儞僨僢僋僗
 * @param[in]	aListSearchCondition	儕僗僩専嶕忣曬
 * @param[in]	aRequestListType		梫媮儕僗僩庬暿
 */
void CSmbMusicAPMainPlayerFilterSyncServerProcess::GetListFromSearchCurrentList(TInt 										aListHandle,
																				TInt 										aIndex,
																				TSmbMusicAPSyncEngineListSearchCondition	aListSearchCondition,
																				TSmbMusicAPSyncEngineRequestListType		aRequestListType)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerProcess | 40;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerProcess::GetListFromSearchCurrentList()");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	iRequestKind	 = ESearchRequestGetListFromSearchCurrentList;
	iListHandle		 = aListHandle;
	iIndex			 = aIndex;
	iListSearchInfo	 = aListSearchCondition;
	iRequestListType = aRequestListType;
	}

/**
 * 嬋捛壛偺捛壛愭僾儗僀儕僗傪庢摼偡傞
 *
 * @param[in]	側偟
 */
void CSmbMusicAPMainPlayerFilterSyncServerProcess::GetOriginalPlayListForInsert()
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerProcess | 50;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerProcess::GetOriginalPlayListForInsert()");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	iRequestKind = ESearchRequestGetOriginalPlayListForInsert;
	}

/**
 * 儕僗僩偵娷傑傟傞傾僀僥儉傪庢摼偡傞
 *
 * @param[in]	aListHandle		儕僗僩僴儞僪儖
 * @param[in]	aIndex			僀儞僨僢僋僗
 * @param[in]	aCount			僇僂儞僩
 */
void CSmbMusicAPMainPlayerFilterSyncServerProcess::GetListItems(TInt												aListHandle, 
																TInt												aIndex, 
																TInt												aCount)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerProcess | 60;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerProcess::GetListItems(aListHandle:%08x, aIndex:%d, aCount:%d)");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt,aListHandle, aIndex, aCount);
#endif

	iRequestKind	 = ESearchRequestGetListItems;
	iListHandle		 = aListHandle;
	iIndex			 = aIndex;
	iCount			 = aCount;
	}

/**
 * 妝嬋僼傽僀儖丄僾儗僀儕僗僩摍偺傾僀僥儉偺幚懱傪嶍彍
 *
 * @param[in]	aAllItem		慡審/巜掕僼儔僌
 * @param[in]	aListHandle		儕僗僩僴儞僪儖
 * @param[in]	aIndexArray		僀儞僨僢僋僗攝楍偺嶲徠
 */
void CSmbMusicAPMainPlayerFilterSyncServerProcess::DeleteItems(TBool aAllItem, TInt aListHandle, const RArray<TInt>* aIndexArray)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerProcess | 70;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerProcess::DeleteItems()");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	if(aAllItem)
		{
		iRequestKind = EEditRequestDeleteAllItems;
		}
	else if((NULL != aIndexArray) && (1 == aIndexArray->Count()))
		{
		iRequestKind = EEditRequestDeleteItem;
		}
	else
		{
		iRequestKind = EEditRequestDeleteItems;
		}

	iAllItem	= aAllItem;
	iListHandle	= aListHandle;
	if(NULL != aIndexArray)
		{
		CopyRArray(*aIndexArray, iIndexArray);
		}
	}

/**
 * 僾儗僀儕僗僩偐傜嬋傾僀僥儉傪搊榐夝彍偡傞
 *
 * @param[in]	aAllItem		慡審/巜掕僼儔僌
 * @param[in]	aListHandle		儕僗僩僴儞僪儖
 * @param[in]	aIndexArray		僀儞僨僢僋僗攝楍偺嶲徠
 */
void CSmbMusicAPMainPlayerFilterSyncServerProcess::RemoveSongFromPlaylist(TBool aAllItem, TInt aListHandle, const RArray<TInt>* aIndexArray)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__

	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerProcess | 80;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerProcess::RemoveSongFromPlaylist()");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	if(aAllItem)
		{
		iRequestKind = EEditRequestRemoveAllSongsFromPlaylist;
		}
	else if((NULL != aIndexArray) && (1 == aIndexArray->Count()))
		{
		iRequestKind = EEditRequestRemoveSongFromPlaylist;
		}
	else
		{
		iRequestKind = EEditRequestRemoveSongsFromPlaylist;
		}

	iAllItem	= aAllItem;
	iListHandle	= aListHandle;
	if(NULL != aIndexArray)
		{
		CopyRArray(*aIndexArray, iIndexArray);
		}
	}

/**
 * 僐儞僥儞僣ID庢摼
 *
 * @param[in]	aListHandle	儕僗僩僴儞僪儖
 * @param[in]	aIndex		僀儞僨僢僋僗
 */
void CSmbMusicAPMainPlayerFilterSyncServerProcess::GetContentsId(TInt aListHandle, TInt aIndex)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerProcess | 90;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerProcess::GetContentsId(aListHandle:0x%08x, aIndex:%d)");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, aListHandle, aIndex);
#endif

	iRequestKind = EEditRequestGetContentsId;
	iListHandle	 = aListHandle;
	iIndex		 = aIndex;
	}

/**
 * 僾儗僀儕僗僩嶌惉
 *
 * @param[in]	aListHandle		儕僗僩僴儞僪儖
 * @param[in]	aPlaylistTitle	嶌惉偡傞僾儗僀儕僗僩偺僞僀僩儖柤
 */
void CSmbMusicAPMainPlayerFilterSyncServerProcess::CreatePlaylist(const TDesC& aPlaylistTitle, TInt aListHandle)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerProcess |100;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerProcess::CreatePlaylist()");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	iRequestKind	= EEditRequestCreatePlaylist;
	iListHandle	 	= aListHandle;
	iPlaylistTitle	= aPlaylistTitle;
	}

/**
 * 僾儗僀儕僗僩偺僞僀僩儖傪曄峏偡傞
 *
 * @param[in] 	aPlaylistTitle	怴偟偄僾儗僀儕僗僩偺僞僀僩儖柤
 * @param[in]	aListHandle		儕僗僩僴儞僪儖
 * @param[in]	aIndex			僀儞僨僢僋僗
 */
void CSmbMusicAPMainPlayerFilterSyncServerProcess::EditPlaylistTitle(const TDesC& aPlaylistTitle, TInt aListHandle, TInt aIndex)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerProcess |110;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerProcess::EditPlaylistTitle()");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	iRequestKind 	= EEditRequestEditPlaylistTitle;
	iPlaylistTitle	= aPlaylistTitle;
	iListHandle		= aListHandle;
	iIndex			= aIndex;
	}

// Add-S PTX-824懳墳丂暯壀
/**
 * 僾儗僀儕僗僩暋惢
 *
 * @param[in] 	aPlaylistTitle	暋惢偡傞僾儗僀儕僗僩偺僞僀僩儖柤
 * @param[in]	aListHandle		儕僗僩僴儞僪儖
 * @param[in]	aIndex			僀儞僨僢僋僗
 */
void CSmbMusicAPMainPlayerFilterSyncServerProcess::DuplicatePlaylist(const TDesC& aPlaylistTitle, TInt aListHandle, TInt aIndex)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerProcess |110;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerProcess::DPlaylistTitle()");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	iRequestKind 	= EEditRequestDuplicatePlaylist;
	iPlaylistTitle	= aPlaylistTitle;
	iListHandle		= aListHandle;
	iIndex			= aIndex;
	}
// Add-E PTX-824懳墳丂暯壀

/**
 * 嬋傾僀僥儉傪僾儗僀儕僗僩偵捛壛偡傞乮1審/暋悢審/慡審偵懳墳乯
 * @param[in]	aAllItem		慡審/巜掕僼儔僌
 * @param[in]	aListHandle		捛壛尦儕僗僩僴儞僪儖
 * @param[in]	aIndexArray		捛壛尦僀儞僨僢僋僗攝楍
 * @param[in]	aListHandle		捛壛愭僾儗僀儕僗僩傾僀僥儉偺儕僗僩僴儞僪儖
 * @param[in]	aIndex			捛壛愭僾儗僀儕僗僩傾僀僥儉偺Index斣崋
 * @param[in]	aInsertIndex	捛壛愭僾儗僀儕僗僩嬋堦棗偵偍偗傞憓擖埵抲乮Index斣崋乯
 */
void CSmbMusicAPMainPlayerFilterSyncServerProcess::InsertItemsToPlaylist( TBool 				aAllItem, 
																TInt 				aSrcListHandle, 
																const RArray<TInt>*	aIndexArray,
																TInt 				aListHandle, 
																TInt 				aIndex,
																TInt 				aInsertIndex)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerProcess |120;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerProcess::InsertItemsToPlaylist()");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	iRequestKind		= EEditRequestInsertItemsToPlaylist;
	iAllItem			= aAllItem;
	iSrcListHandle		= aSrcListHandle;
	iListHandle			= aListHandle;
	iIndex				= aIndex;
	iInsertIndex		= aInsertIndex;
	if(NULL != aIndexArray)
		{
		CopyRArray(*aIndexArray, iIndexArray);
		}
	}

/**
 * 嬋傾僀僥儉傪婛懚偺僾儗僀儕僗僩偵忋彂偒偡傞乮1審/暋悢審/慡審偵懳墳乯
 *
 * @param[in]	aAllItem		慡審/巜掕僼儔僌
 * @param[in]	aListHandle		捛壛尦儕僗僩僴儞僪儖
 * @param[in]	aIndexArray		捛壛尦僀儞僨僢僋僗攝楍
 * @param[in]	aListHandle		捛壛愭僾儗僀儕僗僩傾僀僥儉偺儕僗僩僴儞僪儖
 * @param[in]	aIndex			捛壛愭僾儗僀儕僗僩傾僀僥儉偺Index斣崋
*/
void CSmbMusicAPMainPlayerFilterSyncServerProcess::OverWritePlaylist(TBool 				aAllItem, 
																	 TInt 				aSrcListHandle, 
																	 const RArray<TInt>*	aIndexArray,
																	 TInt 				aListHandle, 
																	 TInt 				aIndex)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerProcess |130;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerProcess::OverWritePlaylist()");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	iRequestKind		= EEditRequestOverWritePlaylist;
	iAllItem			= aAllItem;
	iSrcListHandle		= aSrcListHandle;
	iListHandle			= aListHandle;
	iIndex				= aIndex;
	if(NULL != aIndexArray)
		{

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?