📄 smbmusicapsyncserverplayercontroller.cpp
字号:
// 儕僜乕僗庢摼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 + -