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

📄 smbmusicapsingleplayerstate.cpp

📁 symbian代码
💻 CPP
📖 第 1 页 / 共 3 页
字号:
 *
 *	@memo	昁偢TAsyncState偺enum抣傪棙梡偡傞(悢抣傪cast偟偰愝掕偟側偄偙偲)
 *	@param	TAsyncState aState 旕摨婜忬懺
 *	@return	void
 */
void TSmbMusicAPSinglePlayerStateController::SetASyncState(TAsyncState aState)
	{
	iState |= aState;
	}
	
/**
 *	捠忢嵞惗忬懺偵堏峴壜擻偐偳偆偐
 *
 *	@param 側偟
 *	@return TBool EFalse:堏峴晄壜/ETrue:堏峴壜擻
 */
TBool TSmbMusicAPSinglePlayerStateController::SetPlayRequest()
	{
	//	捠忢壒柭摦慜丒柭摦掆巭慜丒憗憲傝壒柭摦慜丒憗栠偟壒柭摦慜丒SetPlayContext丒DeleteItem
	//	儕僜乕僗奐曻拞丒儕僜乕僗妉摼拞丒傾僾儕働乕僔儑儞廔椆拞
	//	SetPlayContext偵娭偟偰偼仾偺忦審偱丄偙偙偱偼杮棃専嵏偟側偔偰傕戝忎晇
	TInt flags =  EPlay | EPause | EPlayFF | EPlayFR | ESetPlayContext;
	
	if(EFalse != CanAsyncReq(flags)
	&& EFalse != CanPlayRequest()
	&& EComplete == InitialCondition())	//	弶婜壔拞偵Play偺敪峴偼偟側偄)
		{
		SetASyncState(EPlay);
		return ETrue;
		}
		
	NotReadyLog(EPlay);
	return EFalse;
	}
	
/**
 *	憗憲傝忬懺偵堏峴壜擻偐偳偆偐
 *
 *	@param 側偟
 *	@return EFalse:堏峴晄壜/ETrue:堏峴壜擻
 */
TBool TSmbMusicAPSinglePlayerStateController::SetPlayFFRequest()
	{
	//	捠忢壒柭摦慜丒柭摦掆巭慜丒憗憲傝壒柭摦慜丒憗栠偟壒柭摦慜丒SetPlayContext丒DeleteItem
	//	儕僜乕僗奐曻拞丒儕僜乕僗妉摼拞丒傾僾儕働乕僔儑儞廔椆拞
	TInt flags =  EPlay | EPause | EPlayFF | EPlayFR | ESetPlayContext;

	if(EFalse != CanAsyncReq(flags) 
	&& EFalse != CanPlayRequest()
	&& EComplete == InitialCondition())
		{
		SetASyncState(EPlayFF);
		return ETrue;
		}
		
	NotReadyLog(EPlayFF);
	return EFalse;
	}
	
/**
 *	憗栠偟忬懺偵堏峴壜擻偐偳偆偐
 *	
 *	@param 側偟
 *	@return TBool EFalse:堏峴晄壜/ETrue:堏峴壜擻
 */
TBool TSmbMusicAPSinglePlayerStateController::SetPlayFRRequest()
	{	
	//	捠忢壒柭摦慜丒柭摦掆巭慜丒憗憲傝壒柭摦慜丒憗栠偟壒柭摦慜丒SetPlayContext丒DeleteItem
	//	儕僜乕僗奐曻拞丒儕僜乕僗妉摼拞丒傾僾儕働乕僔儑儞廔椆拞
	TInt flags =  EPlay | EPause | EPlayFF | EPlayFR | ESetPlayContext;
	
	if(EFalse != CanAsyncReq(flags)
	&& EFalse != CanPlayRequest()
	&& EComplete == InitialCondition())
		{
		SetASyncState(EPlayFR);
		return ETrue;
		}
		
	NotReadyLog(EPlayFR);	
	return EFalse;
	}

/**
 *	夋憸庢摼忬懺偵堏峴壜擻偐偳偆偐
 *
 *	@param 側偟
 *	@return TBool EFalse:堏峴晄壜/ETrue:堏峴壜擻
 */
TBool TSmbMusicAPSinglePlayerStateController::SetGetImageRequest()
	{
	return iLibState.SetGetImageRequest();
	}

/**
 *	昞帵梡嬋忣曬庢摼忬懺偵堏峴壜擻偐偳偆偐
 *
 *	@param	側偟
 *	@return TBool EFalse:堏峴晄壜/ETrue:堏峴壜擻
 */
TBool TSmbMusicAPSinglePlayerStateController::SetGetDispSongInfoRequest()
	{
	return 	iLibState.SetGetSongInfoRequest();
	}

/**
 *	Lib傊偺忣曬庢摼張棟姰椆傪愝掕
 *
 *	@param 側偟
 *	@retunr EFalse:堏峴晄壜/ETrue:堏峴壜擻
 */
TBool TSmbMusicAPSinglePlayerStateController::GetLibInfoComplete()
	{
	return iLibState.SetLibRequestComplete();
	}

/**
 *	SetPlayContext忬懺偵堏峴壜擻偐偳偆偐
 *
 *	@param 側偟
 +	@return TBool EFalse:堏峴晄壜/ETrue:堏峴壜擻
 */
TBool TSmbMusicAPSinglePlayerStateController::SetSetPlayContextRequest()
	{	
	//	Notify丒GetImage丒DispInfo埲奜(夋憸庢摼/忣曬庢摼偼僷儔偱偼偟傜偣傞)
	TInt flags =  EPlay | EPause | EPlayFF | EPlayFR | ESetPlayContext 
				| ECancelPlayFF | ECancelPlayFR | ESetSongHead ;
	
	if(EFalse != CanAsyncReq(flags)
	&& EFalse != IsFinishedCreateSongItem()				//	CreateSongItem姰椆
	&& EFalse == iResourceState.IsAllocateResource()	//	儕僜乕僗庢摼拞偱偼側偄
	&& EFalse == iLibState.IsDeleteItemRequest()		//	嬋嶍彍拞偱偼側偄
	&& EComplete == InitialCondition())					//	弶婜壔拞偱偼側偄
		{
		SetASyncState(ESetPlayContext);
		return ETrue;
		}
		
	NotReadyLog(ESetPlayContext);
	return EFalse;
	}

/**
 *	嬋傾僀僥儉嶌惉忬懺偵堏峴壜擻偐偳偆偐
 *	
 *	@param 側偟
 *	@return TBool EFalse:堏峴晄壜/ETrue:堏峴壜擻
 */
TBool TSmbMusicAPSinglePlayerStateController::SetCreateSongItemRequest()
	{			
	return iLibState.SetCreateSongItemRequest();
	}
	
/**
 *	嬋嶍彍忬懺偵堏峴壜擻偐偳偆偐
 *
 *	@param 側偟
 *	@return TBool EFalse:堏峴晄壜/ETrue:堏峴壜擻
 */
TBool TSmbMusicAPSinglePlayerStateController::SetDeleteItemRequest()	
	{
	return iLibState.SetDeleteItemRequest();
	}

/**
 *	憗憲傝嵞惗傪僉儍儞僙儖壜擻偐偳偆偐
 *
 *	@param 側偟
 *	@return EFalse:堏峴晄壜/ETrue:堏峴壜擻
 */
TBool TSmbMusicAPSinglePlayerStateController::SetCancelPlayFFRequest()
	{
	TInt flags =  EPlay | EPause | EPlayFR | ESetPlayContext 
				| ECancelPlayFF | ECancelPlayFR | ESetSongHead;
	
	if(EFalse != CanAsyncReq(flags) && EFalse != CanPlayRequest())
		{
		SetASyncState(ECancelPlayFF);
		return ETrue;
		}
		
	NotReadyLog(ECancelPlayFF);			
	return EFalse;
	}

/**
 *	憗栠偟嵞惗傪僉儍儞僙儖壜擻偐偳偆偐
 *
 *	@param 側偟
 *	@return TBool EFalse:堏峴晄壜/ETrue:堏峴壜擻
 */
TBool TSmbMusicAPSinglePlayerStateController::SetCancelPlayFRRequest()
	{	
	TInt flags =  EPlay | EPause | EPlayFF | ESetPlayContext 
				| ECancelPlayFF | ECancelPlayFR | ESetSongHead;
				
	if(EFalse != CanAsyncReq(flags) && EFalse != CanPlayRequest())
		{
		SetASyncState(ECancelPlayFR);
		return ETrue;
		}
		
	NotReadyLog(ECancelPlayFR);
	return EFalse;
	}

/**
 *	壒柭摦掆巭忬懺偵堏峴壜擻偐偳偆偐
 *	
 *	@param 側偟
 *	@return TBool EFalse:堏峴晄壜/ETrue:堏峴壜擻
 */
TBool TSmbMusicAPSinglePlayerStateController::SetPauseRequest()
	{
	//	捠忢壒柭摦慜丒柭摦掆巭慜丒憗憲傝壒柭摦慜丒憗栠偟壒柭摦慜丒SetPlayContext丒DeleteItem
	//	儕僜乕僗奐曻拞丒儕僜乕僗妉摼拞丒傾僾儕働乕僔儑儞廔椆拞
	TInt flags =  EPlay | EPause | EPlayFF | EPlayFR | ESetPlayContext;
				  
	if(EFalse != CanAsyncReq(flags) && EFalse != CanPlayRequest())
		{
		SetASyncState(EPause);
		return ETrue;
		}
		
	NotReadyLog(EPause);
	return EFalse;
	}

/**
 *	摢弌偟弨旛忬懺偵堏峴
 *	
 *	@return TBool EFalse:堏峴偟側偐偭偨/ETrue:堏峴偟偨
 *	@param 側偟
 */
TBool TSmbMusicAPSinglePlayerStateController::SetSetSongHeadRequest()
	{
	if(EFalse != CanSetSongHead())
		{
		SetASyncState(ESetSongHead);
		return ETrue;
		}
		
	NotReadyLog(ESetSongHead);
	return EFalse;	
	}


/**
 *	摢弌偟弨旛忬懺偵堏峴壜擻偐偳偆偐
 *	
 *	@return TBool EFalse:壜/ETrue:晄壜
 *	@param 側偟
 */
TBool TSmbMusicAPSinglePlayerStateController::CanSetSongHead()
	{
	TInt flags =  EPlay | EPause | EPlayFF | EPlayFR | ESetPlayContext;
	//	捠忢壒柭摦慜丒柭摦掆巭慜丒憗憲傝壒柭摦慜丒憗栠偟壒柭摦慜丒SetPlayContext丒DeleteItem
	//	儕僜乕僗奐曻拞丒儕僜乕僗妉摼拞丒傾僾儕働乕僔儑儞廔椆拞
	//	弶婜壔拞偱偼側偄
	
	if(EFalse != CanAsyncReq(flags) 
	&& EFalse != CanPlayRequest()
	&& EComplete == InitialCondition())
		{
		return ETrue;
		}
	return EFalse;
	}
/**
 *	儕僜乕僗奐曻
 *
 *	@param 側偟
 *	@return TBool EFalse:堏峴晄壜/ETrue:堏峴壜擻
 */
TBool TSmbMusicAPSinglePlayerStateController::SetReleaseResource()
 	{
	return iResourceState.SetReleaseResource();
 	}
 	
/**
 *	儕僜乕僗庢摼
 *
 *	@param 側偟
 *	@return @return EFalse:堏峴晄壜/ETrue:堏峴壜擻
 */
TBool TSmbMusicAPSinglePlayerStateController::SetAllocateResource()
 	{
	 return iResourceState.SetAllocationResource();
 	}
 
 /**
  *	儕僜乕僗奐曻/庢摼姰椆
  *
  *	@param 側偟
  *	@return TBool EFalse:堏峴晄壜/ETrue:堏峴壜擻
  */
 TBool TSmbMusicAPSinglePlayerStateController::SetResourceRequestComplete()
 	{
 	return iResourceState.SetResourceRequestComplete();
 	}
 
 /**
  *	儕僜乕僗奐曻拞偐偳偆偐
  *	
  *	@param 側偟
  *	@return TBool ETrue:奐曻拞/EFalse:奐曻拞偱偼側偄
  */
 TBool TSmbMusicAPSinglePlayerStateController::IsReleaseResource()
 	{
 	return iResourceState.IsReleaseResource();
 	}
 	
/**
 *	儕僜乕僗娭楢偺張棟傪偍偙側偭偰偄側偄忬懺偐偳偆偐
 *
 *	@param 側偟
 *	@return TBool	EFalse:峴偭偰偄側偄/ETrue:峴偭偰偄傞
 */
TBool TSmbMusicAPSinglePlayerStateController::IsResourceRequestComplete()
	{
	return iResourceState.IsResourceRequestComplete();
	}
 	
 /**
  *	僒乕僶忬懺曄峏捠抦梫媮拞敪峴忬懺偐偳偆偐傪愝掕偡傞
  *
  *	@param TBool ETrue:敪峴拞/EFalse:敪峴偟偰偄側偄
  *	@return TBool EFalse:忬懺傪曄偊傜傟側偄/ETrue:忬懺傪曄偊傜傟傞
  */
TBool TSmbMusicAPSinglePlayerStateController::SetWaitPlayerNotifyEvent(TBool aBool)
	{
	if(EFalse != aBool)
		{
		TInt flags =  ENotify;
					
		TInt ret = CanAsyncReq(flags);
		
		if(EFalse != ret)
			{
			SetASyncState(ENotify);
			}

		NotReadyLog(ENotify);
		return ret;
		}
	else
		{
		RemoveASyncState(ENotify);
		return ETrue;
		}
	}

////////////////忬懺夝彍宯/////////////
/**
 *	捠忢壒柭摦奐巒忬懺傪愝掕偡傞
 *
 *	@param 側偟
 *	@return TBool	幚峴壜斲
 *	@memo	尰忬曉抣偑偁傞偺偼丄懠偺API偲宍幃傪偁傢偣偰偄傞偨傔
 */
TBool TSmbMusicAPSinglePlayerStateController::SetPlay()
	{
	//	捠忢壒柭摦奐巒忬懺偵擖傞壜擻惈偑偁傞偺偼
	//	嵞惗/憗憲傝夝彍/憗栠偟夝彍/嵞惗拞偺摢弌偟廔椆
	//	偦偺偨傔丄梫媮忬懺傪庢傝彍偔
	RemoveASyncState(EPlay);
	RemoveASyncState(ECancelPlayFF);
	RemoveASyncState(ECancelPlayFR);
	RemoveASyncState(ESetSongHead);
	
	//	嬫娫嵞惗
	iSetSongHeadInCpPlay = EFalse;
	return ETrue;
	}

/**
 *	壒柭摦掆巭奐巒忬懺傪愝掕偡傞
 *
 *	@param 側偟
 *	@return TBool	幚峴壜斲
 *	@memo	尰忬曉抣偑偁傞偺偼丄懠偺API偲宍幃傪偁傢偣偰偄傞偨傔
 */
TBool TSmbMusicAPSinglePlayerStateController::SetPause()
	{
	//	捠忢
	RemoveASyncState(EPause);
	
	//	ListEnd偲偺僋儘僗働乕僗
	RemoveASyncState(ECancelPlayFF);
	RemoveASyncState(ECancelPlayFR);
	
	RemoveASyncState(EPlay);	//Model::ChangeServerState()傛傝
	return ETrue;
	}

/**
 *	憗憲傝壒柭摦奐巒忬懺傪愝掕偡傞
 *
 *	@param 側偟
 *	@return TBool	幚峴壜斲
 *	@memo	尰忬曉抣偑偁傞偺偼丄懠偺API偲宍幃傪偁傢偣偰偄傞偨傔
 */	
TBool TSmbMusicAPSinglePlayerStateController::SetPlayFF()
	{
	RemoveASyncState(EPlayFF);
	return ETrue;
	}

/**
 *	憗栠偟壒柭摦奐巒忬懺傪愝掕偡傞
 *
 *	@param 側偟
 *	@return TBool	幚峴壜斲
 *	@memo	尰忬曉抣偑偁傞偺偼丄懠偺API偲宍幃傪偁傢偣偰偄傞偨傔
 */	
TBool TSmbMusicAPSinglePlayerStateController::SetPlayFR()
	{
	RemoveASyncState(EPlayFR);
	return ETrue;
	}

/**
 *	SetPlayContext偑偝傟偰偄側偄忬懺偵側偭偨偙偲傪愝掕偡傞
 *
 *	@param 側偟
 *	@return TBool	惉斲
 */
TBool TSmbMusicAPSinglePlayerStateController::SetInitialState()
	{
	iFinishedSetPlayContext = EFalse;
	RemoveASyncState(ESetPlayContext);
	return ETrue;
	}

/**
 *	SetPlayContext嵪傪愝掕偡傞
 *
 *	@param 側偟
 *	@return EFalse:愝掕偱偒側偐偭偨/ETrue:愝掕偱偒偨
 */
TBool TSmbMusicAPSinglePlayerStateController::SetFinishedSetPlayContext()
	{
	iFinishedSetPlayContext = ETrue;
	RemoveASyncState(ESetPlayContext);
	return ETrue;
	}

/**
 *	嬋嶍彍姰椆傪愝掕偡傞
 *
 *	@param 側偟
 *	@return EFalse:愝掕偱偒側偐偭偨/ETrue:愝掕偱偒偨
 */
TBool TSmbMusicAPSinglePlayerStateController::SetDeleteItemComplete()
	{
	return iLibState.SetDeleteItemComplete();
	}
	
////////////////仾偲傗偭偰傞偙偲偼摨偠偩偑丄MW懁偺搒崌偱忬懺堏峴偱偒側偐偭偨応崌/////////////////
////////////////旕摨婜梫媮偦偺傕偺傪敪峴偟偰偄傞偺偼Model側偺偱丄帺暘偱忬懺傪傕偳偣側偄//////////
////////////////仾偼丄暋悢偺梫媮忬懺傪夝彍偡傞偙偲偑偁傞偑丄偙偪傜偼昁偢堦偮/////////////////////
/**
 *	捠忢嵞惗梫媮傪庢傝徚偡
 *
 *	@param 側偟
 *	@return void
 */
TBool TSmbMusicAPSinglePlayerStateController::CancelPlayRequest()
	{
	RemoveASyncState(EPlay);
	return ETrue;
	}

/**
 *	憗憲傝嵞惗梫媮傪庢傝徚偡
 *
 *	@param 側偟
 *	@return void
 */
TBool TSmbMusicAPSinglePlayerStateController::CancelPlayFFRequest()
	{
	RemoveASyncState(EPlayFF);
	return ETrue;
	}

/**
 *	憗栠偟嵞惗梫媮傪庢傝徚偡
 *
 *	@param 側偟
 *	@return void
 */	
TBool TSmbMusicAPSinglePlayerStateController::CancelPlayFRRequest()
	{
	RemoveASyncState(EPlayFR);
	return ETrue;
	}

/**
 *	堦帪掆巭梫媮傪庢傝徚偡
 *
 *	@param 側偟
 *	@return void
 */
TBool TSmbMusicAPSinglePlayerStateController::CancelPauseRequest()
	{
	RemoveASyncState(EPause);
	return ETrue;
	}

/**
 *	嵞惗嬋愝掕梫媮傪庢傝徚偡
 *
 *	@param 側偟
 *	@return void
 */
TBool TSmbMusicAPSinglePlayerStateController::CancelSetPlayContextRequest()
	{
	RemoveASyncState(ESetPlayContext);
	return ETrue;
	}

/**
 *	憗憲傝嵞惗夝彍梫媮傪庢傝徚偡
 *
 *	@param 側偟
 *	@return void
 */
TBool TSmbMusicAPSinglePlayerStateController::CancelCancelPlayFFRequest()
	{
	RemoveASyncState(ECancelPlayFF);
	return ETrue;
	}

/**
 *	憗栠偟嵞惗夝彍梫媮傪庢傝徚偡
 *
 *	@param 側偟
 *	@return void
 */
TBool TSmbMusicAPSinglePlayerStateController::CancelCancelPlayFRRequest()
	{
	RemoveASyncState(ECancelPlayFR);
	return ETrue;
	}

/**
 *	摢弌偟梫媮傪庢傝徚偡

⌨️ 快捷键说明

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