smbmusicapmainplayerfiltersyncservercontroller.cpp

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

CPP
2,061
字号
 * @param[out]		aInfo		儗僕儏乕儉忣曬
 * @return						張棟寢壥(KErrNone:		惓忢廔椆
 *										 KErrPermissionDenied:		傾僋僙僗尃柍偟
 *										 KErrNotFound:	庢摼幐攕)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::GetResumeInfo(TSmbMusicAPSyncEngineResumeInfo& aInfo)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController | 80;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::GetResumeInfo() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	if(EFalse == iHasSyncServer)
		{
		//傾僋僙僗尃偑側偄偨傔丄張棟偱偒側偄
		return KErrPermissionDenied;
		}
		
	if(EFalse != iEngine.GetResumeInfo(aInfo))
		{
		return KErrNone;
		}
	else
		{
		return KErrNotFound;
		}
	}

/**
 * 儗僕儏乕儉忣曬嶍彍
 *
 * @param[out]		aInfo		儗僕儏乕儉忣曬
 * @return						張棟寢壥(KErrNone:		惓忢廔椆
 *										 KErrPermissionDenied:		傾僋僙僗尃柍偟)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::DeleteResumeInfo()
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController | 90;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::DeleteResumeInfo() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif
	if(EFalse == iHasSyncServer)
		{
		//傾僋僙僗尃偑側偄偨傔丄張棟偱偒側偄
		return KErrPermissionDenied;
		}
		
	iEngine.DeleteResumeInfo();

	return KErrNone;
	}


/**
 * 慗堏尦儕僗僩忣曬庢摼
 *
 * @param[in]		aListHandle		儕僗僩僴儞僪儖
 * @param[out]		aPrevList		慗堏尦儕僗僩忣曬
 * @return							張棟寢壥(KErrNone:		惓忢廔椆
 *											 KErrPermissionDenied:		傾僋僙僗尃柍偟
 *											 KErrNotFound:	庢摼幐攕)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::GetPrevList(TInt aListHandle, TSmbMusicAPSyncEnginePrevListInfo& aPrevList)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |100;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::GetPrevList() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	if(EFalse == iHasSyncServer)
		{
		//傾僋僙僗尃偑側偄偨傔丄張棟偱偒側偄
		return KErrPermissionDenied;
		}
	if(EFalse != iEngine.GetPrevList(aListHandle, aPrevList))
		{
		return KErrNone;
		}
	else
		{
		return KErrNotFound;
		}
	}

/**
 * 儕僗僩庬暿庢摼
 * 
 * @param[in]		aListHandle		儕僗僩僴儞僪儖
 * @param[out]		aListType		儕僗僩庬暿
 * @return							張棟寢壥(KErrNone:		惓忢廔椆
 *											 KErrPermissionDenied:	傾僋僙僗尃柍偟)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::GetListType(TInt aListHandle, TSmbMusicAPSyncEngineListType& aListType)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |110;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::GetListType() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	if(EFalse == iHasSyncServer)
		{
		//傾僋僙僗尃偑側偄偨傔丄張棟偱偒側偄
		return KErrPermissionDenied;
		}
		
	iEngine.GetListType(aListHandle, aListType);
	return KErrNone;
	}

/**
 * 傾僋僥傿僽僼僅乕僇僗庢摼
 * 
 * @param[in]		aListHandle		儕僗僩僴儞僪儖
 * @return 			傾僋僥傿僽僼僅乕僇僗(KErrPermissionDenied:	傾僋僙僗尃柍偟)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::GetActiveFocus(TInt aListHandle)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |120;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::GetActiveFocus() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	if(EFalse == iHasSyncServer)
		{
		//傾僋僙僗尃偑側偄偨傔丄張棟偱偒側偄
		return KErrPermissionDenied;
		}
	TInt result = iEngine.GetActiveFocus(aListHandle);
	if(KErrServerTerminated == result)
		{
		StartAppExit();
		}

	return result;
	}

/**
 * 儕僗僩僞僀僩儖庢摼
 * 
 * @param[in]		aListHandle		儕僗僩僴儞僪儖
 * @param[out]		aTitle			儕僗僩僞僀僩儖
 * @return			張棟寢壥
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::GetListTitle(TInt aListHandle, TDes& aTitle)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |130;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::GetListTitle() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	if(EFalse == iHasSyncServer)
		{
		//傾僋僙僗尃偑側偄偨傔丄張棟偱偒側偄
		return KErrPermissionDenied;
		}
	TInt result = iEngine.GetListTitle(aListHandle, aTitle);
	if(KErrServerTerminated == result)
		{
		StartAppExit();
		}
	return result;
	}

/**
 * 僇儗儞僩儕僗僩偺崁栚悢庢摼
 *
 * @param [in]		aListHandle		嬋堦棗偺儕僗僩僴儞僪儖
 * @return							僇儗儞僩儕僗僩偺崁栚悢(KErrPermissionDenied:	傾僋僙僗尃柍偟)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::GetItemCount(TInt aListHandle)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |140;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::GetItemCount() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

	if(EFalse == iHasSyncServer)
		{
		//傾僋僙僗尃偑側偄偨傔丄張棟偱偒側偄
		return KErrPermissionDenied;
		}
	TInt result = iEngine.GetItemCount(aListHandle);
	if(KErrServerTerminated == result)
		{
		StartAppExit();
		}
	return result;
	}

/**
 * 嬋ID傪庢摼偡傞丅
 * 
 * @param [in]		aListHandle		嬋堦棗偺儕僗僩僴儞僪儖
 * @param[in]		aIndex			僀儞僨僢僋僗
 * @return							嬋ID(KErrPermissionDenied:	傾僋僙僗尃柍偟)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::GetSongID(TInt aListHandle, TInt aIndex)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |150;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::GetSongID() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

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

	TSmbMusicAPSyncEngineItemIndex item;
	item.iListHandle = aListHandle;
	item.iIndex	 	 = aIndex;
	
	TInt result = iEngine.GetSongID(item);
	if(KErrServerTerminated == result)
		{
		StartAppExit();
		}
	return result;
	}

/**
 * 僾儗僀儕僗僩偺嬋弴曄峏傪奐巒偡傞 
 * 僾儗僀儕僗僩嬋弴曄峏張棟偼丄PrepareOrderItems()偐傜RollbackOrderItems()傑偨偼CommitOrderItemsL()偺墳摎庴怣偵傛偭偰姰椆偡傞
 * 
 * @param [in]		aListHandle		嬋堦棗偺儕僗僩僴儞僪儖
 * @return			張棟寢壥乮KErrNotSupported丗僾儗僀儕僗僩傾僀僥儉埲奜偱巊梡偟偨応崌 / KErrPermissionDenied丗懠偺僋儔僀傾儞僩偑摨偠僾儗僀儕僗僩傾僀僥儉偵懳偟偰暲傋懼偊張棟拞偺応崌乯
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::PrepareOrderItems(TInt aListHandle)
 	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |160;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::PrepareOrderItems() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

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

	TInt result = iEngine.PrepareOrderItems(aListHandle);
	if(KErrServerTerminated == result)
		{
		StartAppExit();
		}
	return result;
 	}

/**
 * 僾儗僀儕僗僩偺嬋弴傪曄峏偡傞乮PrepareOrderItems()偺屇弌偟屻偵偺傒巊梡壜乯
 * 
 * @param [in]  aCurrentIndex  		擖傟懼偊傞傾僀僥儉偺尰嵼偺Index斣崋  
 * @param [in]  aAfterOrderedIndex  憓擖埵抲偺Index斣崋  
 * @return							張棟寢壥(KErrPermissionDenied:	傾僋僙僗尃柍偟)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::OrderItems(TInt aCurrentIndex, TInt aAfterOrderedIndex)  
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |170;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::OrderItems(aCurrentIndex:%d, aAfterOrderedIndex:%d) start.");
//	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHighest/*ELogLevelNormal*/, KLogFmt, aCurrentIndex, aAfterOrderedIndex);
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, aCurrentIndex, aAfterOrderedIndex);
#endif

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

	TInt result = iEngine.OrderItems(aCurrentIndex, aAfterOrderedIndex);
	if(KErrServerTerminated == result)
		{
		StartAppExit();
		}
	return result;
	}

/**
 * 僾儗僀儕僗僩偺嬋弴曄峏傪拞巭偡傞乮CommitOrderItemsL()偲攔懠偺娭學偵偁傝丄僾儗僀儕僗僩嬋弴曄峏張棟拞偺傒巊梡壜乯
 * 
 * @return				張棟寢壥(KErrPermissionDenied:	傾僋僙僗尃柍偟 KErrNotReady丗暲傋懼偊張棟拞埲奜偱僐乕儖偟偨応崌乯
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::RollBackOrderItems()
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |180;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::RollBackOrderItems() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

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

	TInt result = iEngine.RollBackOrderItems();
	if(KErrServerTerminated == result)
		{
		StartAppExit();
		}
	return result;
	}

//------------------------------------------------------------------------旕摨婜宯張棟------------------------------------------------------------------------

/**
 * 専嶕Top偐傜専嶕寢壥偺儕僗僩傪庢摼偡傞
 *
 * @param[in]	aSearchCondition	専嶕忦審
 * @param[in]	aRequestListType	梫媮儕僗僩庬暿
 * @param[in]	aOwnerId			梫媮尦ID
 * @param[in]	aId					ID奿擺愭
 * @param[in]	aOwner				墳摎愭
 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
*/
TInt CSmbMusicAPMainPlayerFilterSyncServerController::GetListFromSearchTop(  
							TSmbMusicAPSyncEngineSearchCondition 							aSearchCondition, 
							TSmbMusicAPSyncEngineRequestListType 							aRequestListType,
							TSmbMusicAPMainOwnerType										aOwnerId,
							TInt&															aId,
							MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |190;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::GetListFromSearchTop() 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->GetListFromSearchTop(aSearchCondition, aRequestListType);

		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					僀儞僨僢僋僗
 * @param[in]	aListSearchCondition	儕僗僩専嶕忣曬
 * @param[in]	aRequestListType		梫媮儕僗僩庬暿
 * @param[in]	aId						ID奿擺愭
 * @param[in]	aOwner					墳摎愭
 * @return								張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::GetListFromSearchCurrentList(
								  TInt 															aListHandle,
								  TInt 															aIndex,
								  TSmbMusicAPSyncEngineListSearchCondition						aListSearchCondition,
								  TSmbMusicAPSyncEngineRequestListType							aRequestListType,
								  TSmbMusicAPMainOwnerType										aOwnerId,
								  TInt&															aId,
								  MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |200;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::GetListFromSearchCurrentList() start.");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt);
#endif

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

	if(EState_Busy == iState)

⌨️ 快捷键说明

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