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

📄 smbmusicapsyncserverplayercontroller.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		//	儕僜乕僗庢摼NG僐儅儞僪
		iPlayerState = iState[iPlayerState]->GetRscNGRes(iPlayerState);
		break;

	case ESmbMusicAPSyncServerPlayerReleaseRscReq:
		//	儕僜乕僗夝曻僐儅儞僪
		iPlayerState = iState[iPlayerState]->ReleaseRscReq(iPlayerState);
		break;

	case ESmbMusicAPSyncServerPlayerClrContextRes:
		//	嵞惗僐儞僥僉僗僩僋儕傾姰椆僐儅儞僪
		iPlayerState = iState[iPlayerState]->ContextClearRes(iPlayerState);
		break;

	case ESmbMusicAPSyncServerPlayerSetCotextRes:
		//	嵞惗僐儞僥僉僗僩愝掕姰椆僐儅儞僪
		iPlayerState = iState[iPlayerState]->SetContextRes(iPlayerState);
		break;

	case ESmbMusicAPSyncServerPlayerChangeStateNotify:
		//	僾儗僀儎乕忬懺慗堏僐儅儞僪
		iPlayerState = iState[iPlayerState]->ChangeStateNtfy(iPlayerState);
		break;

	case ESmbMusicAPSyncServerPlayerStartPlayNotify:
		//	嵞惗奐巒僐儅儞僪
		iPlayerState = iState[iPlayerState]->StartPlayRes(iPlayerState);
		break;

	case ESmbMusicAPSyncServerPlayerFinishPlayListNotify:
		//	儕僗僩嵞惗姰椆僐儅儞僪
		iPlayerState = iState[iPlayerState]->FinishPlayListNtfy(iPlayerState);
		break;

	case ESmbMusicAPSyncServerPlayerStartPlayFFNotify:
		//	FF嵞惗奐巒僐儅儞僪
		iPlayerState = iState[iPlayerState]->StartPlayFF(iPlayerState);
		break;

	case ESmbMusicAPSyncServerPlayerSongTailNotify:
		//	FF偵傛傝嬋廔抂専弌僐儅儞僪
		iPlayerState = iState[iPlayerState]->SongTailNtfy(iPlayerState);
		break;

	case ESmbMusicAPSyncServerPlayerStartPlayFRNotify:
		//	FR嵞惗奐巒僐儅儞僪
		iPlayerState = iState[iPlayerState]->StartPlayFR(iPlayerState);
		break;

	case ESmbMusicAPSyncServerPlayerSongHeadNotify:
		//	FR偵傛傝嬋愭摢専弌僐儅儞僪
		iPlayerState = iState[iPlayerState]->SongHeadNtfy(iPlayerState);
		break;

	case ESmbMusicAPSyncServerPlayerErrSongNotify:
		//	嵞惗晄壜専弌僐儅儞僪
		iPlayerState = iState[iPlayerState]->ErrSongNtfy(iPlayerState);
		break;

//	case ESmbMusicAPSyncServerPlayerPlayConfirmNotify:
//		//	嵞惗妋擣僐儅儞僪
//		iPlayerState = iState[iPlayerState]->PlayConfirmNtfy(iPlayerState);
//		break;

	case ESmbMusicAPSyncServerPlayerHWAbortNotify:
		//	HW堎忢専弌僐儅儞僪
		iPlayerState = iState[iPlayerState]->HWAbort(iPlayerState);
		break;

	case ESmbMusicAPSyncServerPlayerExpirePwrSaveTimer:
		//	徣揹椡僞僀儅枮椆僐儅儞僪
		iPlayerState = iState[iPlayerState]->ExpirePwrSaveTimer(iPlayerState);
		break;

	case ESmbMusicAPSyncServerPlayerStopNotify:
		//	嵞惗掆巭僐儅儞僪
		iPlayerState = iState[iPlayerState]->StopNtfy(iPlayerState);
		break;

	case ESmbMusicAPSyncServerPlayerReceivePlayerMW:
		//	嵞惗宯偺撪晹僐儅儞僪
		iPlayerState = iState[iPlayerState]->UndefinedMWNtfy(iPlayerState);
		break;

//@@TRK8235懳墳	Start	Add
	case ESmbMusicAPSyncServerPlayerExpireMuteTimer:
		//	Mute夝彍僞僀儅枮椆僐儅儞僪
		iPlayerState = iState[iPlayerState]->ExpireMuteTimer(iPlayerState);
		break;
//@@TRK8235懳墳	Start	End

//  ADD-S PTX824 k3-sugimoto
	case ESmbMusicAPSyncServerPlayerReleaseRscNotify:
		//	儕僜乕僗奐曻捠抦
		iPlayerState = iState[iPlayerState]->ReleaseRscNotify(iPlayerState);
		break;
	case ESmbMusicAPSyncServerPlayerExpireGerRscTimer:
		//	儕僜乕僗妉摼懸偪僞僀儅枮椆
		iPlayerState = iState[iPlayerState]->ExpireGerRscTimer(iPlayerState);
		break;
	case ESmbMusicAPSyncServerPlayerConfirmGracePriod:
		//	梫儐乕僓妋擣捠抦(僌儗乕僗僺儕僆僪撪)
		iPlayerState = iState[iPlayerState]->ConfirmGracePriod(iPlayerState);
		break;
	case ESmbMusicAPSyncServerPlayerConfirmLimitCount:
		//	梫儐乕僓妋擣捠抦(夞悢惂尷)
		iPlayerState = iState[iPlayerState]->ConfirmLimitCount(iPlayerState);
		break;
//  ADD-E PTX824 k3-sugimoto


	default:
		break;
		}
	}

/**
 * 僙僢僔儑儞偺愗抐捠抦
 * @param [in]	aSession		愗抐偟偨僙僢僔儑儞
 * @return		側偟
 **/
void CSmbMusicAPSyncServerPlayerController::DisConnect(CSession2& aSession)
	{
	//	僙僢僔儑儞偺愗抐捠抦
	iPlayerState = iState[iPlayerState]->DisConnect(aSession);
	}

/**
 *僒乕僶偺強桳尃側偟偱幚峴壜擻側僀儀儞僩傪幆暿
 * @param [in]	aSession		愗抐偟偨僙僢僔儑儞
 * @return	 ETRue:桳岠/EFalse柍岠
 **/
TBool CSmbMusicAPSyncServerPlayerController::IsActiveSession(const RMessage2& aMessage)
	{
	TSmbMusicAPSyncServerFunction funcid(static_cast<TSmbMusicAPSyncServerFunction>(aMessage.Function()));
	TBool res = EFalse;

	//僒乕僶偺強桳尃側偟偵幚峴壜擻側僀儀儞僩傪幆暿偡傞
	switch(funcid)
		{
	//堦帪掆巭
	case ESmbMusicAPSyncServerFuncPause:
		res = ETrue;
		break;

//  ADD-S PTX824 k3-sugimoto
	//嵞惗傪奐巒
	case ESmbMusicAPSyncServerFuncPlay:
		res = ETrue;
		break;

	//嬋憲傝
	case ESmbMusicAPSyncServerFuncRequestNextSong:
		res = ETrue;
		break;

	//妋擣屻宲懕嵞惗
	case ESmbMusicAPSyncServerFuncConfirmedPlay:
		res = ETrue;
		break;
//  ADD-E PTX824 k3-sugimoto


	//儗僕儏乕儉忣曬庢摼
	case ESmbMusicAPSyncServerFuncGetResumeInfo:
		res = ETrue;
		break;
	//僀儀儞僩捠抦梫媮
	case ESmbMusicAPSyncServerFuncPlayerRequestNotify:
		res = ETrue;
		break;
	//僀儀儞僩捠抦梫媮僉儍儞僙儖
	case ESmbMusicAPSyncServerFuncPlayerCancelRequestNotify:
		res = ETrue;
		break;

	default:
		break;
		}
	return res;
	}


/**
 * 僐儅儞僪張棟娭悢
 * @param [in]	aCommand	僐儅儞僪
 * @return	張棟寢壥
 **/
TBool CSmbMusicAPSyncServerPlayerController::CommandL(TSmbMusicAPSyncServerInternalCommandPkg aCommand)
	{
	switch(aCommand.iCommand)
		{
		//僆乕僨傿僆弌椡忬懺偑曄峏偝傟偨
		case ESmbMsuicAPSyncServerCheckLineOut:
			//	僆乕僨傿僆弌椡忬懺僠僃僢僋僐儅儞僪
			iPlayerState = iState[iPlayerState]->CheckLineOut(iPlayerState);
			break;

		//MS憓擖
		case ESmbMsuicAPSyncServerInsertMS:
		//SD憓擖
		case ESmbMsuicAPSyncServerInsertSD:
		//Mass儌乕僪
		case ESmbMsuicAPSyncServerChangeExtMemState:
		//MS敳偒
		case ESmbMsuicAPSyncServerRemoveMS:
		//SD敳偒
		case ESmbMsuicAPSyncServerRemoveSD:
			//	奜晹儊儌儕憓敳僐儅儞僪
			iPlayerState = iState[iPlayerState]->ChangeExtMem(iPlayerState);
			break;

		//儗僕儏乕儉攋婞梫媮
		case ESmbMusicAPSyncServerDeleteResumeInfo:
			//	張棟撪梕偼奜晹儊儌儕敳偒偲摨偠
			iPlayerState = iState[iPlayerState]->ChangeExtMem(iPlayerState);
			break;

		default:
			break;
		}
	return EFalse;
	}

/**
 * 巜掕偝傟偨僗僥乕僩僋儔僗傪惗惉乮僗僞僥傿僢僋娭悢乯
 * @param [in]	aState		忬懺
 * @param [in]	aLog		儘僌僒乕僶偲偺僙僢僔儑儞
 * @param [in]	aFunc		Func僋儔僗
 * @return		惗惉偟偨僗僥乕僩僋儔僗
 **/
CSmbMusicAPSyncServerPlayerStateBase* CSmbMusicAPSyncServerPlayerController::StateMachineFactoryL(TInt aState,
					DCM_NAMESPACE::RLog& aLog, CSmbMusicAPSyncServerPlayerFunc& aFunc)
	{
	CSmbMusicAPSyncServerPlayerStateBase* stateClass = NULL;
	switch(aState)
		{
	case ESmbMusicAPSyncServerPlayerInit:
		//弶婜忬懺
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateInit(aFunc, aLog);
		break;

	case ESmbMusicAPSyncServerPlayerWaitMWRsc:
		//MW儕僜乕僗妉摼懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateWaitMWRsc(aFunc, aLog);
		break;

	case ESmbMusicAPSyncServerPlayerWaitClrCnt:
		//嵞惗僐儞僥僉僗僩僋儕傾墳摎懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateWaitClrCnt(aFunc, aLog);
		break;

	case ESmbMusicAPSyncServerPlayerWaitCnt:
		//嵞惗僐儞僥僉僗僩愝掕墳摎懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateWaitCnt(aFunc, aLog);
		break;

	case ESmbMusicAPSyncServerPlayerIdle:
		//傾僀僪儖乮堦帪掆巭乯忬懺
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateIdel(aFunc, aLog);
		break;

//  ADD-S PTX824 k3-sugimoto
	case ESmbMusicAPSyncServerPlayerConfirmCntLimit:
		//儐乕僓妋擣忬懺(嵞惗夞悢惂尷)
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateConfirm(aFunc, aLog);
		break;

	case ESmbMusicAPSyncServerPlayerConfirmGracePeriod:
		//儐乕僓妋擣忬懺(僌儗乕僗僺儕僆僪撪)
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateConfirm(aFunc, aLog);
		break;
//  ADD-E PTX824 k3-sugimoto

	case ESmbMusicApSyncServerPlayerWaitBGRsc:
		//BG儕僜乕僗懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateWaitBGRsc(aFunc, aLog);
		break;

//  ADD-S PTX824 k3-sugimoto
	case ESmbMusicApSyncServerPlayerWaitBGRscwithConfirm:
		//BG儕僜乕僗懸偪(妋擣暅婣)
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateWaitBGRsc(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerWaitBGRscwithChgSong:
		//BG儕僜乕僗懸偪(嬋憲傝)
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateWaitBGRsc(aFunc, aLog);
		break;
//  ADD-E PTX824 k3-sugimoto

	case ESmbMusicApSyncServerPlayerWaitStartPlay:
		//嵞惗奐巒懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateWaitStartPlay(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerPlay:
		//嵞惗忬懺
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStatePlay(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerWaitPlay:
		//嵞惗傊偺暅婣懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateWaitPlay(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerWaitPlayFromFFFR:
		//FF/FR偐傜偺嵞惗傊偺暅婣懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateWaitPlay(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerErrSong:
		//嵞惗晄壜僼傽僀儖専弌忬懺
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateErrSong(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerErrSongListEnd:
		//嵟廔嬋偑嵞惗晄壜僼傽僀儖帪偺堦帪掆巭墳摎懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateErrSong(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerWaitPause:
		//堦帪掆巭墳摎懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateWaitPause(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerWaitFF:
		//FF墳摎懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateWaitFFFR(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerPlayFF:
		//FF嵞惗忬懺
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStatePlayFFFR(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerWaitFR:
		//FR墳摎懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateWaitFFFR(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerPlayFR:
		//FR嵞惗忬懺
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStatePlayFFFR(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerSuspend:
		//僒僗儁儞僪忬懺
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateSuspend(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerSusPlayWaitMWRsc:
		//僒僗儁儞僪拞偵嵞惗梫媮傪庴怣屻丄MW儕僜乕僗妉摼懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateSusWaitMWRsc(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerSusPlayWaitCnt:
		//僒僗儁儞僪拞偵嵞惗梫媮傪庴怣屻丄嵞惗僐儞僥僉僗僩墳摎懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateSusWaitCnt(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerSusPrePlayWaitMWRsc:
		//僒僗儁儞僪拞偵嵞惗弨旛梫媮傪庴怣丄MW儕僜乕僗妉摼懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateSusWaitMWRsc(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerSusPrePlayWaitCnt:
		//僒僗儁儞僪拞偵嵞惗弨旛梫媮傪庴怣丄嵞惗僐儞僥僉僗僩墳摎懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateSusWaitCnt(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerSusNextWaitMWRsc:
		//僒僗儁儞僪拞偵嬋憲傝梫媮傪庴怣屻丄MW儕僜乕僗妉摼懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateSusWaitMWRsc(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerSusNextWaitCnt:
		//僒僗儁儞僪拞偵嬋憲傝梫媮傪庴怣屻丄嵞惗僐儞僥僉僗僩墳摎懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateSusWaitCnt(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerSusPrevWaitMWRsc:
		//僒僗儁儞僪拞偵嬋栠偟梫媮傪庴怣屻丄MW儕僜乕僗妉摼懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateSusWaitMWRsc(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerSusPrevWaitCnt:
		//僒僗儁儞僪拞偵嬋栠偟梫媮傪庴怣屻丄嵞惗僐儞僥僉僗僩墳摎懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateSusWaitCnt(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerSusHeadWaitMWRsc:
		//僒僗儁儞僪拞偵摢偩偟梫媮傪庴怣屻丄MW儕僜乕僗妉摼懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateSusWaitMWRsc(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerSusHeadWaitCnt:
		//僒僗儁儞僪拞偵摢偩偟梫媮傪庴怣屻丄嵞惗僐儞僥僉僗僩墳摎懸偪
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateSusWaitCnt(aFunc, aLog);
		break;

	case ESmbMusicApSyncServerPlayerAppEnd:
		//傾僾儕廔椆忬懺
		stateClass = new(ELeave)CSmbMusicAPSyncServerPlayerStateAppEnd(aFunc, aLog);
		break;

	default:
		//偲傝偁偊偢儘僌傪弌椡偟傑偟傚偆
		break;
		}
	return stateClass;
	}

// end of SmbMusicAPSyncServerPlayerController.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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