📄 smbmusicapsyncserverplayerstatebase.cpp
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerPlayerStateBase.cpp
//
// Description:
// PTX810 Music傾僾儕 摨婜僒乕僶 僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+---------------+--------------------------------------
//2006/06/09 |娵壀 |怴婯嶌惉
//2006/08/23 |暯壀 |奺愝掕娭悢偺僒僗儁儞僪偐傜偺暅婣(嵞惗僐儞僥僉僗僩墳摎懸偪)忬懺偺張棟傪廋惓
//2006/08/31 |暯壀 |ChangeExtMem()偺張棟傪曄峏丒ComChangeExtMem()娭悢傪捛壛
//2006/09/08 |娵壀 |TRK8235懳墳
//2006/09/26 |暯壀 |TRK10253懳墳
//2006/09/28 |暯壀 |TRK10478懳墳
//2006/11/02 |娵壀 |TRK12311懳墳
//----PTX824----+---------------+--------------------------------------
//2007/04/03 |K3悪杮 |PTX824懳墳
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEBASE_H__
#include "SmbMusicAPSyncServerPlayerStateBase.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERFUNC_H__
#include "SmbMusicAPSyncServerPlayerFunc.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERCOMMANDOBSERVER_H__
#include "SmbMusicAPSyncServerCommandObserver.h"
#endif
#ifndef __SMBMUSICAPSYNCENGINEDEF_H__
#include <SmbMusicAPSyncEngineDef.h>
#endif
#ifndef __SMBMUSICAPSYNCSERVERUTIL_H__
#include "SmbMusicAPSyncServerUtil.h"
#endif // __SMBMUSICAPSYNCSERVERUTIL_H__
USING_NAMESPACE_SEMCJ
/**
* 僐儞僗僩儔僋僞
* @param [in] aFunc PlayerFunc僋儔僗偺嶲徠
* @param [in] aLog 儘僌僒乕僶僙僢僔儑儞偺嶲徠
* @return
**/
CSmbMusicAPSyncServerPlayerStateBase::CSmbMusicAPSyncServerPlayerStateBase
(CSmbMusicAPSyncServerPlayerFunc& aFunc, DCM_NAMESPACE::RLog& aLog)
: iFunc(aFunc), iLog(aLog)
{
}
/**
* 僨僗僩儔僋僞
* @param 側偟
* @return 側偟
**/
CSmbMusicAPSyncServerPlayerStateBase::~CSmbMusicAPSyncServerPlayerStateBase()
{
}
/**
* 傾僾儕廔椆捠抦庴怣張棟
* @param [in] aState 嵞惗宯偺忬懺
* @return 嵞惗宯偺忬懺
*/
// MODIFY-S PTX824 k3-sugimoto
//TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateBase::AppEnd(TSmbMusicAPSyncServerPlayerState /*aState*/)
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateBase::AppEnd(TSmbMusicAPSyncServerPlayerState aState)
// MODIFY-E PTX824 k3-sugimoto
{
// ADD-S PTX824 k3-sugimoto
switch(aState)
{
case ESmbMusicApSyncServerPlayerPlay: //嵞惗忬懺
case ESmbMusicApSyncServerPlayerWaitPause: //堦帪掆巭墳摎懸偪
case ESmbMusicApSyncServerPlayerWaitPlayFromFFFR: //FF/FR偐傜嵞惗傊偺暅婣懸偪
// 棙梡棜楌峏怴僇僂儞僞堦帪掆巭
iFunc.ReportCounterPause(CSmbMusicAPLibReportCounter::EPause);
break;
case ESmbMusicApSyncServerPlayerWaitPlay: //嵞惗傊偺暅婣懸偪
{
TInt func(iFunc.Function());
if ((func == ESmbMusicAPSyncServerFuncRequestNextSong) ||
(func == ESmbMusicAPSyncServerFuncRequestPrevSong))
{ // 嬋憲傝/嬋栠偟偺応崌
// 棙梡棜楌峏怴僇僂儞僞儕僙僢僩(Callback桳)
iFunc.ReportCounterReset(CSmbMusicAPLibReportCounter::EStart);
}
}
break;
default:
break;
}
// ADD-E PTX824 k3-sugimoto
//儗僕儏乕儉惗惉
iFunc.GetResume(ESmbMusicAPSyncServerPlayerStackLocalFromPlayer);
//嫟捠張棟傪屇傃弌偡(慡偰偺儕僜乕僗偺夝曻偲傾僾儕廔椆捠抦)
ComAppEnd();
//傾僾儕廔椆忬懺
return ESmbMusicApSyncServerPlayerAppEnd;
}
/**
* 忬懺曄峏捠抦傪庴怣
* @param [in] aState 嵞惗宯偺忬懺
* @return 嵞惗宯偺忬懺
**/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateBase::ChangeStateNtfy(TSmbMusicAPSyncServerPlayerState aState)
{
//僀儀儞僩捠抦梫媮傪敪峴偟傑偡
iFunc.RequestEventNotify();
return aState;
}
/**
*嵞惗掆巭捠抦傪庴怣
* @param [in] aState 嵞惗宯偺忬懺
* @return 嵞惗宯偺忬懺
**/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateBase::StopNtfy(TSmbMusicAPSyncServerPlayerState aState)
{
switch (aState)
{
//嵞惗忬懺
case ESmbMusicApSyncServerPlayerPlay:
//堦帪掆巭墳摎懸偪
case ESmbMusicApSyncServerPlayerWaitPause:
//嵞惗傊偺暅婣懸偪
case ESmbMusicApSyncServerPlayerWaitPlay:
// ADD-S PTX824 k3-sugimoto
// 棙梡棜楌峏怴僇僂儞僞堦帪掆巭
iFunc.ReportCounterPause(CSmbMusicAPLibReportCounter::EPause);
// 偙偙偼柧帵揑偵埲壓偺張棟傕峴偆昁梫偑偁傞偨傔丄
// 柧帵揑偵break偼峴傢側偄丅
// ADD-E PTX824 k3-sugimoto
//FF/FR偐傜嵞惗傊偺暅婣忬懺
case ESmbMusicApSyncServerPlayerWaitPlayFromFFFR:
//FF墳摎懸偪
case ESmbMusicApSyncServerPlayerWaitFF:
//FR墳摎懸偪
case ESmbMusicApSyncServerPlayerWaitFR:
//FF嵞惗忬懺
case ESmbMusicApSyncServerPlayerPlayFF:
//FR嵞惗忬懺
case ESmbMusicApSyncServerPlayerPlayFR:
//昁梫偲偁傜偽墳摎傪敪峴偡傞
iFunc.SendRes(KErrCancel);
//BG儕僜乕僗偺夝曻
iFunc.ReleaseRsc(ESmbMusicAPSyncServerPlayerBGRsc);
//嵞惗掆巭傪捠抦
iFunc.SendNotify(ESmbMusicAPSyncEngineStopPlay);
break;
default:
//儘僌弌椡
TInt log = EMusicAPSyncServerClassNumber57 | EMusicAPSyncServerLocationNumber15;
_LIT(KPlayerPlayerStateBase15, "SyncServerPlayerStateBase::StopNtfy default");
SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KPlayerPlayerStateBase15);
//僀儀儞僩捠抦梫媮傪敪峴偟傑偡
iFunc.RequestEventNotify();
}
//TRK10253懳墳丂Add-S
//徣揹椡僞僀儅乕奐巒
iFunc.StartPowerSaveTimer();
//TRK10253懳墳丂Add-E
//傾僀僪儖乮堦帪掆巭乯忬懺
return ESmbMusicAPSyncServerPlayerIdle;
}
/**
* 嵞惗宯僀儀儞僩捠抦傪庴怣(晄柧側僀儀儞僩)
* @param [in] aState 嵞惗宯偺忬懺
* @return 嵞惗宯偺忬懺
**/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateBase::UndefinedMWNtfy(TSmbMusicAPSyncServerPlayerState aState)
{
//僀儀儞僩捠抦梫媮傪敪峴偟傑偡
iFunc.RequestEventNotify();
//忬懺曄峏側偟
return aState;
}
/**
* 僙僢僔儑儞愙懕捠抦張棟
* @param [in] aSession 愙懕偡傞僙僢僔儑儞
* @param [in] aState 嵞惗宯偺忬懺
* @return 嵞惗宯偺忬懺
**/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateBase::Connect(CSession2& aSession , TSmbMusicAPSyncServerPlayerState aState)
{
//僙僢僔儑儞愙懕捠抦
iFunc.Connect(aSession);
return aState;
}
/**
* 僐儞僥僉僗僩僋儕傾墳摎
* @param [in] aState 嵞惗宯偺忬懺
* @return 嵞惗宯偺忬懺
**/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateBase::ContextClearRes(TSmbMusicAPSyncServerPlayerState aState)
{
//壗傕偟傑偣傫
return aState;
}
/**
* 僙僢僔儑儞愗抐
* @param [in] aSession 愗抐偡傞僙僢僔儑儞
* @return 嵞惗宯偺忬懺
**/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateBase::DisConnect(CSession2& aSession)
{
//儘僌弌椡
TInt log = EMusicAPSyncServerClassNumber57 | EMusicAPSyncServerLocationNumber00;
_LIT(KPlayerPlayerStateBase00, "SyncServerPlayerStateBase::DisConnect");
SmbMusicAPSyncServerLog(iLog, log, ELogLevelNormal, KPlayerPlayerStateBase00);
// 慡偰偺儕僜乕僗傪儕儕乕僗偡傞
iFunc.ReleaseRsc(ESmbMusicAPSyncServerPlayerAllRsc);
//儗僕儏乕儉忣曬傪僋儕傾偡傞
iFunc.ClearResume();
//僙僢僔儑儞愗抐
TBool ret = iFunc.DisConnect(aSession);
if (EFalse == ret)
{
//傾僾儕廔椆忬懺
return ESmbMusicApSyncServerPlayerAppEnd;
}
//弶婜忬懺
return ESmbMusicAPSyncServerPlayerInit;
}
/**
* 嵞惗晄壜捠抦
* @param [in] aState 嵞惗宯偺忬懺
* @return 嵞惗宯偺忬懺
**/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateBase::ErrSongNtfy(TSmbMusicAPSyncServerPlayerState aState)
{
//僀儀儞僩捠抦梫媮傪敪峴偟傑偡
iFunc.RequestEventNotify();
return aState;
}
/**
* 僀儀儞僩捠抦梫媮張棟
* @param [in] aState 嵞惗宯偺忬懺
* @return 嵞惗宯偺忬懺
**/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateBase::EventNotifyReq(TSmbMusicAPSyncServerPlayerState aState)
{
//僀儀儞僩捠抦梫媮側偺偱儊僢僙乕僕傪曐帩偡傞傛偆偍婅偄偟傑偡
iFunc.StackNotifyMsg(iMsg);
//MW偵僀儀儞僩捠抦梫媮傪敪峴偟傑偡
iFunc.RequestEventNotify();
return aState;
}
/**
* 徣揹椡僞僀儅枮椆捠抦
* @param [in] aState 嵞惗宯偺忬懺
* @return 嵞惗宯偺忬懺
**/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateBase::ExpirePwrSaveTimer(TSmbMusicAPSyncServerPlayerState aState)
{
//壗傕偟傑偣傫
return aState;
}
//@@TRK8235懳墳 Add Start
/**
* Mute夝彍僞僀儅枮椆捠抦
* @param [in] aState 嵞惗宯偺忬懺
* @return 嵞惗宯偺忬懺
**/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateBase::ExpireMuteTimer(TSmbMusicAPSyncServerPlayerState aState)
{
switch(aState)
{
//弶婜忬懺
case ESmbMusicAPSyncServerPlayerInit:
//MW儕僜乕僗妉摼懸偪
case ESmbMusicAPSyncServerPlayerWaitMWRsc:
//嵞惗僐儞僥僉僗僩僋儕傾墳摎懸偪
case ESmbMusicAPSyncServerPlayerWaitClrCnt:
//嵞惗僐儞僥僉僗僩愝掕墳摎懸偪
case ESmbMusicAPSyncServerPlayerWaitCnt:
//傾僀僪儖乮堦帪掆巭乯忬懺
case ESmbMusicAPSyncServerPlayerIdle:
//僒僗儁儞僪忬懺
case ESmbMusicApSyncServerPlayerSuspend:
//壗傕偟傑偣傫
break;
//BG儕僜乕僗懸偪
case ESmbMusicApSyncServerPlayerWaitBGRsc:
//嵞惗奐巒懸偪
case ESmbMusicApSyncServerPlayerWaitStartPlay:
//嵞惗忬懺
case ESmbMusicApSyncServerPlayerPlay:
//嵞惗傊偺暅婣懸偪
case ESmbMusicApSyncServerPlayerWaitPlay:
//FF/FR偐傜嵞惗傊偺暅婣懸偪
case ESmbMusicApSyncServerPlayerWaitPlayFromFFFR:
//嵞惗晄壜僼傽僀儖専弌忬懺
case ESmbMusicApSyncServerPlayerErrSong:
//嵟廔嬋偑嵞惗晄壜僼傽僀儖帪偺堦帪掆巭墳摎懸偪
case ESmbMusicApSyncServerPlayerErrSongListEnd:
//堦帪掆巭墳摎懸偪
case ESmbMusicApSyncServerPlayerWaitPause:
//FF墳摎懸偪
case ESmbMusicApSyncServerPlayerWaitFF:
//FF嵞惗忬懺
case ESmbMusicApSyncServerPlayerPlayFF:
//FR墳摎懸偪
case ESmbMusicApSyncServerPlayerWaitFR:
//FR嵞惗忬懺
case ESmbMusicApSyncServerPlayerPlayFR:
//僒僗儁儞僪拞偵嵞惗梫媮傪庴怣屻丄MW儕僜乕僗妉摼懸偪
case ESmbMusicApSyncServerPlayerSusPlayWaitMWRsc:
//僒僗儁儞僪拞偵嵞惗梫媮傪庴怣屻丄嵞惗僐儞僥僉僗僩墳摎懸偪
case ESmbMusicApSyncServerPlayerSusPlayWaitCnt:
//僒僗儁儞僪拞偵嵞惗弨旛梫媮傪庴怣丄MW儕僜乕僗妉摼懸偪
case ESmbMusicApSyncServerPlayerSusPrePlayWaitMWRsc:
//僒僗儁儞僪拞偵嵞惗弨旛梫媮傪庴怣丄嵞惗僐儞僥僉僗僩墳摎懸偪
case ESmbMusicApSyncServerPlayerSusPrePlayWaitCnt:
//僒僗儁儞僪拞偵嬋憲傝梫媮傪庴怣屻丄MW儕僜乕僗妉摼懸偪
case ESmbMusicApSyncServerPlayerSusNextWaitMWRsc:
//僒僗儁儞僪拞偵嬋憲傝梫媮傪庴怣屻丄嵞惗僐儞僥僉僗僩墳摎懸偪
case ESmbMusicApSyncServerPlayerSusNextWaitCnt:
//僒僗儁儞僪拞偵嬋栠偟梫媮傪庴怣屻丄MW儕僜乕僗妉摼懸偪
case ESmbMusicApSyncServerPlayerSusPrevWaitMWRsc:
//僒僗儁儞僪拞偵嬋栠偟梫媮傪庴怣屻丄嵞惗僐儞僥僉僗僩墳摎懸偪
case ESmbMusicApSyncServerPlayerSusPrevWaitCnt:
//僒僗儁儞僪拞偵摢偩偟梫媮傪庴怣屻丄MW儕僜乕僗妉摼懸偪
case ESmbMusicApSyncServerPlayerSusHeadWaitMWRsc:
//僒僗儁儞僪拞偵摢偩偟梫媮傪庴怣屻丄嵞惗僐儞僥僉僗僩墳摎懸偪
case ESmbMusicApSyncServerPlayerSusHeadWaitCnt:
// ADD-S PTX824 k3-sugimoto
// 儐乕僓妋擣忬懺(嵞惗夞悢惂尷)
case ESmbMusicAPSyncServerPlayerConfirmCntLimit:
// 儐乕僓妋擣忬懺(僌儗乕僗僺儕僆僪撪)
case ESmbMusicAPSyncServerPlayerConfirmGracePeriod:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -