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

📄 smbmusicapsyncserverplayerstatebase.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 5 页
字号:
/* 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 + -