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

📄 smbmusicapsingleplayerstate.cpp

📁 symbian代码
💻 CPP
📖 第 1 页 / 共 3 页
字号:
 *
 *	@param 側偟
 *	@return void
 */
TBool TSmbMusicAPSinglePlayerStateController::CancelSetSongHeadRequest()
	{
	RemoveASyncState(ESetSongHead);
	return ETrue;
	}

/**
 *	忬懺堏峴偱偒側偐偭偨応崌偵丄儘僌傪弌椡偡傞
 *
 *	@memo 儘僌儗儀儖偼Lowest(忬懺堏峴偱偒側偄=堎忢偱偼側偄偨傔)
 *	@param	TAsyncState	堏峴偟傛偆偲偟偨忬懺
 *	@return void
 */
void TSmbMusicAPSinglePlayerStateController::NotReadyLog(TAsyncState aState)
	{
		if(	EFalse != iFinishedSetPlayContext				//	SetPlayContext偑廔椆偟偰偄傞
	&& EFalse == iResourceState.IsAllocateResource()	//	儕僜乕僗庢摼拞偱偼側偄
	&& EFalse == iLibState.IsDeleteItemRequest())		//	嬋嶍彍拞偱偼側偄
	
	SmbMusicAPSinglePlayerLog::OutputLog(KSinglePlayerState, ESinglePlayerState, ELogLevelLowest,
										_L("PlayRequest NotReady(%d) SetPlayContext(%d) iState(%d) RscState(%d) InitialCondition(%d) DeleteItem(%d)"),
										 aState, iFinishedSetPlayContext, iState, iResourceState.iState, iInitialCondition, iLibState.iDeleteItem);

	}
////////////////忬懺夝彍宯3/////////////////////////////////////
////////////////壒柭摦慜-僒乕僶忬懺曄峏帪偺夝彍/////////////////		
/**
 *	僒乕僶忬懺偑捠忢嵞惗忬懺偵側偭偨偙偲傪愝掕偡傞
 *
 *	@memo 僒乕僶忬懺偼捠忢嵞惗忬懺偩偑丄壒柭摦奐巒偱偼側偄
 *	@param 側偟
 *	@return EFalse:愝掕偱偒側偐偭偨/ETrue:愝掕偱偒偨
 */
TBool TSmbMusicAPSinglePlayerStateController::SetPlayState()
	{
	RemoveASyncState(EPlay);	//	嵞惗懸偪
	RemoveASyncState(ECancelPlayFF);	//	憗憲傝夝彍
	RemoveASyncState(ECancelPlayFR);	//	憗栠偟夝彍
	//	RemoveAsyncState(ESetSongHead);	//	摢弌偟	
	return ETrue;
	}
	
/**
 *	僒乕僶忬懺偑憗憲傝嵞惗忬懺偵側偭偨偙偲傪愝掕偡傞
 *
 *	@memo 僒乕僶忬懺偼憗憲傝嵞惗忬懺偩偑丄壒柭摦奐巒偱偼側偄
 *	@param 側偟
 *	@return EFalse:愝掕偱偒側偐偭偨/ETrue:愝掕偱偒偨
 */
TBool TSmbMusicAPSinglePlayerStateController::SetPlayFFState()
	{
	//	壒柭摦傑偱PlayFF/FR傪嫋偝側偄応崌
	//	偙偙傪僐儊儞僩傾僂僩偟偨屻丄Model偺InitialPlayStateL()撪偺僒乕僶忬懺偑FF/FR偺応崌偱
	//	梫媮慜偵丄PlayFF/FR梫媮拞傪夝彍偟側偔偰偼偄偗側偄(偦偆偟側偄偲丄巆傞)
	//	壒柭摦奐巒帪偵丄SetPlayFF/FR傪屇傫偱偄傞偺偱丄捠忢偺働乕僗偼栤戣側偄
	RemoveASyncState(EPlayFF);
	return ETrue;
	}

/**
 *	僒乕僶忬懺偑憗栠偟嵞惗忬懺偵側偭偨偙偲傪愝掕偡傞
 *
 *	@memo 僒乕僶忬懺偼憗栠偟嵞惗忬懺偩偑丄壒柭摦奐巒偱偼側偄
 *	@param 側偟
 *	@return EFalse:愝掕偱偒側偐偭偨/ETrue:愝掕偱偒偨
 */
TBool TSmbMusicAPSinglePlayerStateController::SetPlayFRState()
	{
	RemoveASyncState(EPlayFR);
	return ETrue;
	}

////////////////偦偺懠/////////////////
/**
 *	儕僜乕僗娭楢偺梫媮偺僉儍僢僔儏傪僋儕傾偡傞
 *
 *	@param 側偟
 *	@return void
 */
void TSmbMusicAPSinglePlayerStateController::ClearResourceRequestCache()
	{
	iResourceState.ClearCache();
	}
	
/**
 *	CreateSongItem嵪偐偳偆偐
 *
 *	@param 側偟
 *	@return TBool ETrue:CreateSongItem嵪/EFalse;枹CreateSongItem
 */
TBool TSmbMusicAPSinglePlayerStateController::IsFinishedCreateSongItem()
	{
	return iLibState.IsFinishedCreateSongItem();
	}

/**
 *	SetPlayContext嵪偐偳偆偐
 *
 *	@param 側偟
 *	@return TBool EFalse:枹SetPlayContext/ETrue:SetPlayContext嵪
 */
TBool TSmbMusicAPSinglePlayerStateController::IsFinishedSetPlayContext()
	{
	return iFinishedSetPlayContext;	
	}

/**
 *	Pause梫媮拞偐偳偆偐
 *
 *	@param 側偟
 *	@return ETrue:Pause梫媮拞/EFalse:梫媮拞偱偼側偄
 */
TBool TSmbMusicAPSinglePlayerStateController::IsRequestPause()
	{
	return ExecASyncReq(EPause);
	}
	
/**
 *	SetPlayContext梫媮拞偐偳偆偐
 *
 *	@param 側偟
 *	@return EFalse:SetPlayContext梫媮拞偱偼側偄/ETrue:SetPlayContext梫媮拞
 */
TBool TSmbMusicAPSinglePlayerStateController::IsRequestSetPlayContext()
	{
	return ExecASyncReq(ESetPlayContext);
	}
	
/**
 *	CancelPlayFF梫媮拞偐偳偆偐
 *
 *	@param 側偟
 *	@return TBool ETrue:CancelPlayFF梫媮拞/EFalse:CancelPlayFF梫媮拞偱偼側偄
 */
TBool TSmbMusicAPSinglePlayerStateController::IsRequestCancelPlayFF()
	{
	return ExecASyncReq(ECancelPlayFF);
	}
	
/**
 *	CancelPlayFR梫媮拞偐偳偆偐
 *
 *	@param 側偟
 *	@return TBool EFalse:CancelPlayFR梫媮拞偱偼側偄/ETrue:CancelPlayFR梫媮拞
 */
TBool TSmbMusicAPSinglePlayerStateController::IsRequestCancelPlayFR()
	{
	return ExecASyncReq(ECancelPlayFR);
	}
	
/**
 *	Play梫媮拞偐偳偆偐
 *
 *	@param 側偟
 *	@return TBool EFalse:Play梫媮拞偱偼側偄/ETrue:Play梫媮拞
 */
TBool TSmbMusicAPSinglePlayerStateController::IsRequestPlay()
	{
	return ExecASyncReq(EPlay);
	}
	
/**
 *	SuperDukePowerOff偺愝掕偑偱偒傞偐偳偆偐
 *
 *	@param 側偟
 *	@return EFalse:愝掕偱偒側偄/ETrue:愝掕偱偒傞
 */
TBool TSmbMusicAPSinglePlayerStateController::CanSetSuperDukePowerOff()
 	{
 	//	僾儗僀儎惂屼偵丄旕摨婜墳摎傪媮傔偰偄傞娫偼丄SuperDuke偺徣揹椡僼儔僌傪ON偵愝掕偟側偄
 	TInt flags = ESetPlayContext | EPlay | EPlayFF | EPlayFR | ECancelPlayFF | ECancelPlayFR | ESetSongHead;
 	return  CanAsyncReq(flags);
 	}
 	
/**
 *	敾掕晹暘<br>尰嵼丄摿掕偺忬懺偵慇堐偱偒傞偐偳偆偐
 *
 *	@memo aFlags偼丄TAsyncState偺or偱嶌傞
 *	@param TInt 堏峴偟傛偆偲偟偰偄傞忬懺
 *	@return TBool EFalse:堏峴晄壜/Etrue:堏峴壜擻
 */
TBool TSmbMusicAPSinglePlayerStateController::CanAsyncReq(TInt aFlags)
	{
	// if flags is ON, then Return EFalse
	return (iState & aFlags) ? EFalse : ETrue;
	//TBool ret = ~(iState & aFlags);
	//return ret;
	}
	
/**
 *	嵞惗梫媮梡敾掕晹暘
 *
 *	@memo	弶婜壔埲奜偺僾儗僀儎乕惂屼梫媮偵昁梫側忦審傪敾掕偡傞
 *	@param 側偟
 *	@return TBool
 */
TBool	TSmbMusicAPSinglePlayerStateController::CanPlayRequest()
	{
	if(	EFalse != iFinishedSetPlayContext				//	SetPlayContext偑廔椆偟偰偄傞
	&& EFalse == iResourceState.IsAllocateResource()	//	儕僜乕僗庢摼拞偱偼側偄
	&& EFalse == iLibState.IsDeleteItemRequest())		//	嬋嶍彍拞偱偼側偄
		{
		return ETrue;	
		}	
		
	return EFalse;
	}
	
/**
 *	摿掕偺僐儅儞僪傪幚峴拞偐偳偆偐
 *	
 *	@oaram TASyncState 専嵏偡傞僐儅儞僪
 *	@return EFalse:幚峴拞偱偼側偄/ETrue:幚峴拞
 */
TBool TSmbMusicAPSinglePlayerStateController::ExecASyncReq(TAsyncState aState)
 	{
 	TBool ret = (iState & aState) ? ETrue: EFalse;
	return ret;
 	}

/**
 *	旕摨婜張棟忬懺傪夝彍偡傞
 *
 *	@param TASyncState 夝彍偡傞旕摨婜梫媮忬懺
 *	@return void
 */
void TSmbMusicAPSinglePlayerStateController::RemoveASyncState(TAsyncState aState)
	{
	iState &= ~aState;
	}

/**
 *	儕僜乕僗偺梫媮忬懺偲偟偰僉儍僢僔儏偟偨抣傪庢摼偡傞
 *
 *	@param 側偟
 *	@return TAsyncState
 */
TSmbMusicAPSinglePlayerRscRequestState::TAsyncState TSmbMusicAPSinglePlayerStateController::GetRscRequestCache()
	{
	return iResourceState.GetCache();
	}

/**
 *	Disconnect嶌嬈拞傪愝掕
 *
 *	@memo	Disconnect傪峴偆壓弨旛傪峴偆応崌偵愝掕<br>
 *	@return TBool	愝掕偟偨/愝掕偟偰偄側偄
 *	@param	側偟
 */
TBool TSmbMusicAPSinglePlayerStateController::SetInitialForDisconnect()
	{
	if(iInitialCondition > EForDisconnectPlayerCtrl)
		{
		return EFalse;
		}
	
	iInitialCondition = EForDisconnectPlayerCtrl;
	//ADD-S D_82400005503
	iSetSongHeadInCpPlay = EFalse;	//Disconnect張棟傪巒傔偨偨傔丄嬫娫嵞惗摢弌偟拞偼僉儍儞僙儖偡傞
	//ADD-E D_82400005503
	//ADD-S D_82400007238
	SetUserPlayConfirm(EFalse);
	if(EFalse == iIsForeground)
		{
		SetNeedUserPlayConfirm(ETrue);	
		}
	//ADD-E D_82400007238
	return ETrue;
	}

/**
 *	僾儗僀儎乕惂屼弶婜壔拞傪愝掕
 *
 *	@memo	嬫娫嵞惗帪丄Disconnect傪敽傢側偄ClearPlayContext傪峴偄偨偄応崌偵愝掕<br>
 *			Disconnect偺偨傔偺ClearPlayContext嶌嬈拞偺応崌偼丄偦偪傜偑桪愭偝傟傞
 *	@return TBool	愝掕偟偨/愝掕偟偰偄側偄
 *	@param	側偟
 */
TBool TSmbMusicAPSinglePlayerStateController::SetInitialForInitialPlayerControl()
	{
	if(iInitialCondition > EForInitialPlayerCtrl)
		{
		return EFalse;
		}
	
	iInitialCondition = EForInitialPlayerCtrl;
	return ETrue;
	}

/**
 *	僾儗僀儎乕惂屼弶婜壔姰椆
 *
 *	@memo	嬫娫嵞惗帪丄Disconnect傪敽傢側偄ClearPlayContext姰椆帪偵愝掕<br>
 *			Disconnect偺偨傔偺ClearPlayContext嶌嬈拞偺応崌偼丄偦偪傜偑桪愭偝傟傞偨傔夝彍偝傟側偄
 *	@return TBool	愝掕偟偨/愝掕偟偰偄側偄
 *	@param	側偟
 */
TBool TSmbMusicAPSinglePlayerStateController::SetInitialPlayerControlComplete()
	{
	if(iInitialCondition > EForInitialPlayerCtrl)
		{
		//	Disconnect拞偺応崌偼丄僾儗僀儎乕惂屼偺弶婜壔偑姰椆偟偰傕丄弶婜壔拞偺傑傑偵偟偰偍偔偨傔
		return EFalse;
		}
	iInitialCondition = EComplete;
	return ETrue;
	}

/**
 *	Disconnect偺偨傔偺僾儗僀儎乕惂屼弶婜壔姰椆
 *
 *	@memo	Disconnect嶌嬈姰椆帪偵愝掕<br>
 *	@return TBool	愝掕偟偨/愝掕偟偰偄側偄
 *	@param	側偟
 */
TBool TSmbMusicAPSinglePlayerStateController::SetDisconnectPlayerControlComplete()
	{	
	if(iInitialCondition > EForDisconnectPlayerCtrl)
		{
		//	棃側偄(DisconnectPlayerControl偺庻柦偑挿偄偨傔)
		return EFalse;
		}
	iInitialCondition = EComplete;
	return ETrue;
	}
	
/**
 *	尰忬偺弶婜壔忬懺傪庢摼偡傞
 *
 *	@return TInitialCondition	Initial/Disconnect/Complete(嵎嫑傪峴偭偰偄側偄)
 *	@param	側偟
 */
TSmbMusicAPSinglePlayerStateController::TInitialCondition TSmbMusicAPSinglePlayerStateController::InitialCondition()
	{
	return iInitialCondition;	
	}

/**
 *	SetSongHead傪幚峴拞偐偳偆偐
 *
 *	@param 側偟
 *	@return TBool
 */
TBool TSmbMusicAPSinglePlayerStateController::IsSetSongHead()
	{
	return ExecASyncReq(ESetSongHead);
	}

/**
 *	儐乕僓妋擣張棟拞偐偳偆偐
 *
 *	@return TBool
 *	@paran 側偟
 */
TBool TSmbMusicAPSinglePlayerStateController::IsUserPlayConfirm()
	{
	return iUserPlayConfirm;
	}

/**
 *	儐乕僓妋擣張棟拞傪愝掕偡傞
 *
 *	@param TBool aBool ETrue:張棟拞/EFalse:張棟拞偱偼側偄
 *	@return void
 */
void TSmbMusicAPSinglePlayerStateController::SetUserPlayConfirm(TBool aBool)
	{
	iUserPlayConfirm = aBool;
	
	//ADD-S D_82400007238
	if(EFalse == aBool)
		{
		SetNeedUserPlayConfirm(EFalse);
		}
	//ADD-E D_82400007238
	}

//ADD-S D_82400007238
/**
 *	儐乕僓妋擣捠抦偑棃偨偲偒丄儐乕僓妋擣傪偟側偔偰偼偄偗側偄偐偳偆偐傪愝掕偡傞
 *
 *	@oaram 側偟
 *	@return TBool EFalse:晄昁梫/ETrue:昁梫
 */
TBool TSmbMusicAPSinglePlayerStateController::IsNeedUserPlayConfirm()
	{
	return iNeedUserPlayConfirm;
	}

/**
 *	儐乕僓妋擣捠抦偑棃偨偲偒丄儐乕僓妋擣傪偟側偔偰偼偄偗側偄偐偳偆偐傪愝掕偡傞
 *
 *	@param TBool  EFalse:晄昁梫/ETrue:昁梫
 *	@return void
 */
void TSmbMusicAPSinglePlayerStateController::SetNeedUserPlayConfirm(TBool aNeedUserPlayConfirm)
	{
	iNeedUserPlayConfirm = aNeedUserPlayConfirm;
	}

/**
 *	傾僾儕偑慜柺偵偄傞偐偳偆偐傪愝掕偡傞
 *
 *	@param	EFalse:攚柺/ETrue:慜柺
 *	@return 側偟
 */
void TSmbMusicAPSinglePlayerStateController::SetIsForeground(TBool aForeground)
	{
	iIsForeground = aForeground;
	}
//ADD-E D_82400007238

/**
 *	幚峴偟側偔偰偼偄偗側偄梫媮
 *
 *	@param
 *	@return
 */
TInt TSmbMusicAPSinglePlayerStateController::GetCachedRequest(TBool aIsExit, TSmbMusicAPSinglePlayerLibRequestState::TLibRequest& aRequest, TInt& aCount)
	{
	return iLibState.GetCachedRequest(aIsExit, aRequest, aCount);
	}

/**
 *	嬫娫嵞惗摢弌偟拞傪愝掕偡傞
 *
 *	@param TBool	ETrue:嬫娫嵞惗摢弌偟拞/EFalse:嬫娫嵞惗摢弌偟拞偱偼側偄
 *	@return TBool	EFalse:堷悢偺忬懺偵側傟側偐偭偨/ETrue:堷悢偺忬懺偵側偭偨(偩偭偨)
 */
TBool TSmbMusicAPSinglePlayerStateController::SetSetSongHeadRequestInCpPlay(TBool aBool)
	{
	if(aBool != iSetSongHeadInCpPlay)
		{
		if(EFalse != aBool && EFalse == CanSetSongHead())
			{
			return EFalse;
			}
		iSetSongHeadInCpPlay = aBool;
		return ETrue;
		}
	
	return ETrue;	//	偡偱偵堏峴偟偨偄忬懺偵偁偭偨応崌偵偼丄ETrue
	//	SetSongHead偼View偺僉乕僀儀儞僩偱梷惂偟偰偄傞偺偱丄偙偙偱偼CanSetSongHead()偩偗尒傟偽傛偄
	}

/**
 *	嬫娫嵞惗摢弌偟拞偐偳偆偐傪曉媝偡傞
 *
 *	@return TBool	ETrue:嬫娫嵞惗摢弌偟拞/EFalse:嬫娫嵞惗摢弌偟拞偱偼側偄
 *	@param 側偟
 */
TBool TSmbMusicAPSinglePlayerStateController::IsSetSongHeadRequestInCpPlay() const
	{
	return iSetSongHeadInCpPlay;
	}
		
/**
 *	嬋廔抂張棟傪幚峴拞偐偳偆偐
 *
 *	@param 側偟
 *	@return TBool
 */
TBool TSmbMusicAPSinglePlayerStateController::IsExecListEnd() const
	{
	return iExecListEnd;
	}

/**
 *	嬋廔抂張棟幚峴拞傪愝掕偡傞
 *
 *	@param 側偟
 *	@return TBool
 */
TBool TSmbMusicAPSinglePlayerStateController::SetExecListEnd(TBool aBool)
	{
	if(iExecListEnd != aBool)
		{
		iExecListEnd = aBool;
		return ETrue;	
		}
	return EFalse;
	}

/**
 *	嵞惗棜楌婰榐拞傪愝掕
 *
 *	@param 側偟
 *	@return TBool
 */
TBool TSmbMusicAPSinglePlayerStateController::SetRecordPlayReportRequest()
	{
	return iLibState.SetRecordPlayReportRequest();	
	}

/**
 *	嵞惗棜楌婰榐姰椆傪愝掕
 *	
 *	@return TBool
 *	@param 側偟
 */
TBool TSmbMusicAPSinglePlayerStateController::SetRecordPlayReportComplete(TBool aForce)
	{
	return iLibState.SetRecordPlayReportComplete(aForce);
	}

/**
 *	嵞惗棜楌婰榐拞偐偳偆偐
 *	
 *	@return TBool 
 *	@param 側偟
 */
TBool TSmbMusicAPSinglePlayerStateController::IsExecRecordPlayReportRequest()
	{
	return iLibState.IsExecRecordPlayReportRequest();
	}

/**
 *	Lib偵懳偡傞旕摨婜梫媮偑姰椆偟偰偄傞偐偳偆偐
 *
 *	@param 側偟
 *	@return TBool ETrue:姰椆/EFalse:枹姰椆
 */
TBool TSmbMusicAPSinglePlayerStateController::IsFinishedLibRequest()
	{
	return iLibState.IsFinishedLibRequest();
	}

/**
 *	Lib偵懳偡傞忣曬庢摼梫媮傪嫮惂揑偵姰椆偝偣傞
 *
 *	@memo	AddFor D_824XXXXX
 *	@param丂側偟
 *	@return Lib偺SetInfoRequestCompleteForce()嶲徠
 */
TBool TSmbMusicAPSinglePlayerStateController::SetInfoRequestCompleteForce()
	{
	return iLibState.SetInfoRequestCompleteForce();
	}

SEMCJ_NAMESPACE_END
// end of SmbMusicAPSinglePlayerState.cpp
/* Copyright (C) 2007Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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