smbmusicapmainplayerfiltersyncservercontroller.cpp

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

CPP
2,061
字号
		{
		return KErrInUse;
		}

	TInt ret = KErrInUse;
	iState = EState_Busy;

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

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

		req->GetListFromSearchCurrentList(aListHandle, aIndex, aListSearchCondition, 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]	aOwnerId			梫媮尦ID
 * @param[in]	aId					ID奿擺愭
 * @param[in]	aOwner				墳摎愭
 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
*/
TInt CSmbMusicAPMainPlayerFilterSyncServerController::GetOriginalPlayListForInsert(
								  TSmbMusicAPMainOwnerType										aOwnerId,
								  TInt&															aId,
								  MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |210;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::GetOriginalPlayListForInsert() 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->GetOriginalPlayListForInsert();

		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]	aCount				僇僂儞僩
 * @param[in]	aOwnerId			梫媮尦ID
 * @param[in]	aId					ID奿擺愭
 * @param[in]	aOwner				墳摎愭
 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
*/
TInt CSmbMusicAPMainPlayerFilterSyncServerController::GetListItemsFromList(
						  TInt 																aListHandle,
						  TInt 																aIndex,
						  TInt 																aCount,
						  TSmbMusicAPMainOwnerType											aOwnerId,
						  TInt&																aId,
						  MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&		aOwner)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |220;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::GetListItemsFromList() 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->GetListItems(aListHandle, aIndex, aCount);

		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]	aAllItem			慡審/巜掕僼儔僌
 * @param[in]	aListHandle			儕僗僩僴儞僪儖
 * @param[in]	aIndexArray			僀儞僨僢僋僗攝楍
 * @param[in]	aOwnerId			梫媮尦ID
 * @param[in]	aId					ID奿擺愭
 * @param[in]	aOwner				墳摎愭
 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::DeleteItems(
				 TBool 															aAllItem, 
				 TInt 															aListHandle, 
				 const RArray<TInt>* 											aIndexArray,
				 TSmbMusicAPMainOwnerType										aOwnerId,
				 TInt&															aId,
				 MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |230;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::DeleteItems() 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->DeleteItems(aAllItem, aListHandle, aIndexArray);

		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]	aAllItem			慡審/巜掕僼儔僌
 * @param[in]	aListHandle			儕僗僩僴儞僪儖
 * @param[in]	aIndexArray			僀儞僨僢僋僗攝楍
 * @param[in]	aOwnerId			梫媮尦ID
 * @param[in]	aId					ID奿擺愭
 * @param[in]	aOwner				墳摎愭
 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::RemoveItemsFromPlaylist(
							 TBool															aAllItem, 
							 TInt															aListHandle, 
							 const RArray<TInt>*											aIndexArray,
							 TSmbMusicAPMainOwnerType										aOwnerId,
							 TInt&															aId,
							 MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |240;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::RemoveItemsFromPlaylist() 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->RemoveSongFromPlaylist(aAllItem, aListHandle, aIndexArray);

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

	iState = EState_Normal;
	return ret;
	}

/**
 * 巜掕傾僀僥儉偺僐儞僥儞僣ID傪庢摼偡傞丅
 * 
 * @param[in]	aListHandle 		儕僗僩僴儞僪儖
 * @param[in]	aItem 				傾僀僥儉
 * @param[in]	aOwnerId			梫媮尦ID
 * @param[in]	aId					ID奿擺愭
 * @param[in]	aOwner				墳摎愭
 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::PrepareGetContentsID(
							TInt 															aListHandle,
							TInt 															aIndex,
							TSmbMusicAPMainOwnerType										aOwnerId,
							TInt&															aId,
							MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |250;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::PrepareGetContentsID() 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->GetContentsId(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]	aPlaylistTitle		嶌惉偡傞僾儗僀儕僗僩偺僞僀僩儖
 * @param[in] 	aListHandle			儕僗僩僴儞僪儖
 * @param[in]	aOwnerId			梫媮尦ID
 * @param[in]	aId					ID奿擺愭
 * @param[in]	aOwner				墳摎愭
 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
 */
TInt CSmbMusicAPMainPlayerFilterSyncServerController::CreatePlaylist(
					const TDesC& 													aPlaylistTitle,
					TInt 															aListHandle,
					TSmbMusicAPMainOwnerType										aOwnerId,
					TInt&															aId,
					MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner)
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterSyncServerController |260;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterSyncServerController::CreatePlaylist() 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->CreatePlaylist(aPlaylistTitle, aListHandle);

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

	iState = EState_Normal;
	return ret;
	}

/**

⌨️ 快捷键说明

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