smbmusicapmainplayerfiltersyncservercontroller.cpp

来自「symbian」· C++ 代码 · 共 2,061 行 · 第 1/5 页

CPP
2,061
字号
 * 僾儗僀儕僗僩偺僞僀僩儖傪曄峏偡傞
 * @param[in]	aPlaylistTitle		怴偟偄僞僀僩儖柤
 * @param[in]	aListHandle			儕僗僩僴儞僪儖
 * @param[in]	aIndex				僀儞僨僢僋僗
 * @param[in]	aOwnerId			梫媮尦ID
 * @param[in]	aId					ID奿擺愭
 * @param[in]	aOwner				墳摎愭
 * @return							張棟寢壥(1埲忋:惓忢廔椆(ID)丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲 仸0偼曉傜側偄)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::EditPlaylistTitle( 
						const TDesC& 													aPlaylistTitle, 
						TInt 															aListHandle, 
						TInt 															aIndex,
						TSmbMusicAPMainOwnerType										aOwnerId,
						TInt&															aId,
						MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |270;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::EditPlaylistTitle() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	if(EFalse == iHasSyncServer)
		{
		//傾僋僙僗尃偑側偄偨傔丄張棟偱偒側偄
		return KErrPermissionDenied;
		}

	if(EState_Busy == iState)
		{
		return KErrInUse;
		}

	TInt ret = KErrInUse;
	iState = EState_Busy;

	CSmbMusicAPMainPlayerFilterSyncServerControllerForEachOwner* owner = GetOwner(aOwnerId);
	if(NULL != owner)
		{

		// 梫媮僋儔僗傪怴偵惗惉
		CSmbMusicAPMainPlayerFilterSyncServerProcess* req = NewRequest(*owner, aOwner);

		req->EditPlaylistTitle(aPlaylistTitle, aListHandle, aIndex);

		if(EFalse != owner->SetRequestPriority(req))
			{
			aId = reinterpret_cast<TInt>(req);
			StartNextService();
			ret = KErrNone;
			}
		else
			{
			req->SetNotifyOff();
			delete req;
			}
		}

	iState = EState_Normal;
	return ret;
	}

// Add-S PTX-824懳墳 暯壀
/**
 * 僾儗僀儕僗僩傪暋惢偡傞
 * 
 * @param[in]	aPlaylistTitle		暋惢偡傞僾儗僀儕僗僩偺僞僀僩儖
 * @param[in] 	aListHandle			儕僗僩僴儞僪儖
 * @param[in]	aIndex				僀儞僨僢僋僗
 * @param[in]	aOwnerId			梫媮尦ID
 * @param[in]	aId					ID奿擺愭
 * @param[in]	aOwner				墳摎愭
 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::DuplicatePlaylist(
					const TDesC& 													aPlaylistTitle,
					TInt 															aListHandle,
					TInt															aIndex,
					TSmbMusicAPMainOwnerType										aOwnerId,
					TInt&															aId,
					MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |260;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::DuplicatePlaylist() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	if(EFalse == iHasSyncServer)
		{
		//傾僋僙僗尃偑側偄偨傔丄張棟偱偒側偄
		return KErrPermissionDenied;
		}

	if(EState_Busy == iState)
		{
		return KErrInUse;
		}

	TInt ret = KErrInUse;
	iState = EState_Busy;

	CSmbMusicAPMainPlayerFilterSyncServerControllerForEachOwner* owner = GetOwner(aOwnerId);
	if(NULL != owner)
		{

		// 梫媮僋儔僗傪怴偵惗惉
		CSmbMusicAPMainPlayerFilterSyncServerProcess* req = NewRequest(*owner, aOwner);

		req->DuplicatePlaylist(aPlaylistTitle, aListHandle, aIndex);

		if(EFalse != owner->SetRequestPriority(req))
			{
			aId = reinterpret_cast<TInt>(req);
			StartNextService();
			ret = KErrNone;
			}
		else
			{
			req->SetNotifyOff();
			delete req;
			}
		}

	iState = EState_Normal;
	return ret;
	}
// 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斣崋乯
 * @param[in]	aOwnerId			梫媮尦ID
 * @param[in]	aId					ID奿擺愭
 * @param[in]	aOwner				墳摎愭
 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::InsertItemsToPlaylist(
							TBool 															aAllItem, 
							TInt 															aSrcListHandle, 
							const RArray<TInt>*												aIndexArray,
							TInt 															aListHandle, 
							TInt 															aIndex,
							TInt 															aInsertIndex,
							TSmbMusicAPMainOwnerType										aOwnerId,
							TInt&															aId,
							MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |280;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::InsertItemsToPlaylist() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	if(EFalse == iHasSyncServer)
		{
		//傾僋僙僗尃偑側偄偨傔丄張棟偱偒側偄
		return KErrPermissionDenied;
		}

	if(EState_Busy == iState)
		{
		return KErrInUse;
		}

	TInt ret = KErrInUse;
	iState = EState_Busy;

	CSmbMusicAPMainPlayerFilterSyncServerControllerForEachOwner* owner = GetOwner(aOwnerId);
	if(NULL != owner)
		{

		// 梫媮僋儔僗傪怴偵惗惉
		CSmbMusicAPMainPlayerFilterSyncServerProcess* req = NewRequest(*owner, aOwner);

		req->InsertItemsToPlaylist(aAllItem, aSrcListHandle, aIndexArray, aListHandle, aIndex, aInsertIndex);

		if(EFalse != owner->SetRequestPriority(req))
			{
			aId = reinterpret_cast<TInt>(req);
			StartNextService();
			ret = KErrNone;
			}
		else
			{
			req->SetNotifyOff();
			delete req;
			}
		}

	iState = EState_Normal;
	return ret;
	}

/**
 嬋傾僀僥儉傪婛懚偺僾儗僀儕僗僩偵忋彂偒偡傞乮1審/暋悢審/慡審偵懳墳乯
 * @param[in]	aAllItem			慡審/巜掕僼儔僌
 * @param[in]	aListHandle			捛壛尦儕僗僩僴儞僪儖
 * @param[in]	aIndexArray			捛壛尦僀儞僨僢僋僗攝楍
 * @param[in]	aListHandle			捛壛愭僾儗僀儕僗僩傾僀僥儉偺儕僗僩僴儞僪儖
 * @param[in]	aIndex				捛壛愭僾儗僀儕僗僩傾僀僥儉偺Index斣崋
 * @param[in]	aOwnerId			梫媮尦ID
 * @param[in]	aId					ID奿擺愭
 * @param[in]	aOwner				墳摎愭
 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::OverWritePlaylist( 
						TBool 															aAllItem, 
						TInt 															aSrcListHandle, 
						const RArray<TInt>*												aIndexArray,
						TInt 															aListHandle, 
						TInt 															aIndex,
						TSmbMusicAPMainOwnerType										aOwnerId,
						TInt&															aId,
						MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |290;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::OverWritePlaylist() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	if(EFalse == iHasSyncServer)
		{
		//傾僋僙僗尃偑側偄偨傔丄張棟偱偒側偄
		return KErrPermissionDenied;
		}

	if(EState_Busy == iState)
		{
		return KErrInUse;
		}

	TInt ret = KErrInUse;
	iState = EState_Busy;

	CSmbMusicAPMainPlayerFilterSyncServerControllerForEachOwner* owner = GetOwner(aOwnerId);
	if(NULL != owner)
		{

		// 梫媮僋儔僗傪怴偵惗惉
		CSmbMusicAPMainPlayerFilterSyncServerProcess* req = NewRequest(*owner, aOwner);

		req->OverWritePlaylist(aAllItem, aSrcListHandle, aIndexArray, aListHandle, aIndex);

		if(EFalse != owner->SetRequestPriority(req))
			{
			aId = reinterpret_cast<TInt>(req);
			StartNextService();
			ret = KErrNone;
			}
		else
			{
			req->SetNotifyOff();
			delete req;
			}
		}

	iState = EState_Normal;
	return ret;
	}

/**
 * 僾儗僀儕僗僩偺嬋弴曄峏傪寛掕偡傞梫媮傪弌偡
 * RollBackOrderItems()偲攔懠偺娭學偵偁傝丄僾儗僀儕僗僩嬋弴曄峏張棟拞偺傒巊梡壜
 * 
 * @param[in]	aListHandle			儕僗僩僴儞僪儖
 * @param[in]	aOwnerId			梫媮尦ID
 * @param[in]	aId					ID奿擺愭
 * @param[in]	aOwner				墳摎愭
 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::CommitOrderItems(  
						TInt 															aListHandle, 
						TSmbMusicAPMainOwnerType										aOwnerId,
						TInt&															aId,
						MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |300;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::CommitOrderItems() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	if(EFalse == iHasSyncServer)
		{
		//傾僋僙僗尃偑側偄偨傔丄張棟偱偒側偄
		return KErrPermissionDenied;
		}

	if(EState_Busy == iState)
		{
		return KErrInUse;
		}

	TInt ret = KErrInUse;
	iState = EState_Busy;

	CSmbMusicAPMainPlayerFilterSyncServerControllerForEachOwner* owner = GetOwner(aOwnerId);
	if(NULL != owner)
		{

		// 梫媮僋儔僗傪怴偵惗惉
		CSmbMusicAPMainPlayerFilterSyncServerProcess* req = NewRequest(*owner, aOwner);

		req->CommitOrderItems(aListHandle);

		if(EFalse != owner->SetRequestPriority(req))
			{
			aId = reinterpret_cast<TInt>(req);
			StartNextService();
			ret = KErrNone;
			}
		else
			{
			req->SetNotifyOff();
			delete req;
			}
		}

	iState = EState_Normal;
	return ret;
 	}

/**
 * 巜掕僀儞僨僢僋僗偺傾僀僥儉偵僒儉僱僀儖傪僙僢僩偡傞丅
 * 
 * @param[in]	aListHandle			儕僗僩僴儞僪儖
 * @param[in]	aIndex 				僒儉僱僀儖傪庢摼偡傞嬋偺僀儞僨僢僋僗乮MW偱埖偆儕僗僩偺僀儞僨僢僋僗乯
 * @param[in]	aOwnerId			梫媮尦ID
 * @param[in]	aId					ID奿擺愭
 * @param[in]	aOwner				墳摎愭
 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::GetThumbnail(  
					TInt 															aListHandle, 
					TInt 															aIndex,
					TSmbMusicAPMainOwnerType										aOwnerId,
					TInt&															aId,
					MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |310;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::GetThumbnail() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	if(EFalse == iHasSyncServer)
		{
		//傾僋僙僗尃偑側偄偨傔丄張棟偱偒側偄
		return KErrPermissionDenied;
		}

	if(EState_Busy == iState)
		{
		return KErrInUse;
		}

	TInt ret = KErrInUse;
	iState = EState_Busy;

	CSmbMusicAPMainPlayerFilterSyncServerControllerForEachOwner* owner = GetOwner(aOwnerId);
	if(NULL != owner)
		{

		// 梫媮僋儔僗傪怴偵惗惉
		CSmbMusicAPMainPlayerFilterSyncServerProcess* req = NewRequest(*owner, aOwner);

		req->GetPlayThumbnailImage(aListHandle, aIndex);

		if(EFalse != owner->SetRequestPriority(req))
			{
			aId = reinterpret_cast<TInt>(req);
			StartNextService();
			ret = KErrNone;
			}
		else
			{
			req->SetNotifyOff();
			delete req;
			}
		}

	iState = EState_Normal;
	return ret;
	}


/**
 * 夋憸傪儕僒僀僘偡傞
 *
 * @param[in]	aThumbnailBitmap	僒儉僱僀儖梡價僢僩儅僢僾
 * @param[in]	aThumbnailBitmap	僒儉僱僀儖梡價僢僩儅僢僾(儅僗僋)
 * @param[in]	aReisizeSize		僒僀僘
 * @param[in]	aOwnerId			梫媮尦ID
 * @param[in]	aId					ID奿擺愭
 * @param[in]	aOwner				墳摎愭
 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrInUse:梫媮庴晅嫅斲)
*/
TInt CSmbMusicAPMainPlayerFilterSyncServerController::ResizeImage( 
				  CFbsBitmap* 														aThumbnailBitmap, 
				  CFbsBitmap* 														aThumbnailMaskBitmap, 
				  TSize 															aReisizeSize,
				  TSmbMusicAPMainOwnerType											aOwnerId,
				  TInt&																aId,
				  MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&		aOwner)
	{	

⌨️ 快捷键说明

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