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

📄 smbmusicapsyncserverplayerstateerrsong.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPSyncServerPlayerStateErrSong.cpp
//
// Description:
//	PTX810 Music傾僾儕 摨婜僒乕僶 僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰			|撪梕
//--------------+---------------+--------------------------------------
//2006/06/09	|娵壀			|怴婯嶌惉
//2006/09/05	|暯壀			|TRK6491懳墳 ErrSong偑嵟廔嬋偺忬懺傪捛壛
//2006/10/27	|暯壀			|TRK11206懳墳 ChangeExtMem()偵掆巭捠抦張棟傪捛壛
//----PTX824----+---------------+--------------------------------------
//2007/09/20	|K3悪杮			|[D_82400015425]嵞惗晄壜嬋偺嬋栠偟懳墳


#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEERRSONG_H__
#include "SmbMusicAPSyncServerPlayerStateErrSong.h"
#endif

#ifndef	__SMBMUSICAPSYNCSERVERUTIL_H__
#include "SmbMusicAPSyncServerUtil.h"
#endif	//  __SMBMUSICAPSYNCSERVERUTIL_H__

USING_NAMESPACE_SEMCJ

/**
 僐儞僗僩儔僋僞
 * @param [in]	aFunc		PlayerFunc僋儔僗偺嶲徠
 * @param [in]	aLog		儘僌僒乕僶僙僢僔儑儞偺嶲徠
 * @return	側偟
 */
CSmbMusicAPSyncServerPlayerStateErrSong::CSmbMusicAPSyncServerPlayerStateErrSong(
		CSmbMusicAPSyncServerPlayerFunc& aFunc,
		DCM_NAMESPACE::RLog& aLog
		)
	: CSmbMusicAPSyncServerPlayerStateBase(aFunc, aLog)
	{
	}

/**
 僨僗僩儔僋僞
 * @param	側偟
 * @return	側偟
 */
CSmbMusicAPSyncServerPlayerStateErrSong::~CSmbMusicAPSyncServerPlayerStateErrSong()
	{
	}

/**
 嵞惗晄壜僼傽僀儖専弌僀儀儞僩
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateErrSong::ErrSongNtfy(TSmbMusicAPSyncServerPlayerState aState)
	{
	//嵞惗晄壜僼傽僀儖専弌捠抦(僼傽僀儖偺堎忢偵傛傝嵞惗晄壜偱偁傞)
	iFunc.SendNotify(ESmbMusicAPSyncEnginePlayFail);

	//堦帪掆巭墳摎懸偪忬懺
	return aState;
	}

/**
 堦帪掆巭梫媮
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateErrSong::Pause(TSmbMusicAPSyncServerPlayerState aState)
	{
	TSmbMusicAPSyncServerPlayerState state = aState;
	TInt res = KErrNone;
	TInt log;

	switch (aState)
		{
		//嵞惗晄壜僼傽僀儖専弌忬懺
		case ESmbMusicApSyncServerPlayerErrSong:
			//堦帪掆巭梫媮偺嫟捠憖嶌
			res = ComPause();
			if(KErrNone != res)
				{
				//僋儔僀傾儞僩偵墳摎傪曉偡
				iFunc.SendRes(res);

				//儘僌弌椡
				log = EMusicAPSyncServerClassNumber59 | EMusicAPSyncServerLocationNumber00;
				_LIT(KPlayerPlayerStateErrSong00, "SyncServerPlayerStateErrSong::Pause Error(%d) [aState=%d]");
				SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KPlayerPlayerStateErrSong00, res, aState);

				//僄儔乕側傜偽忬懺慗堏偼偟側偄
				return aState;
				}

			//堦帪掆巭墳摎懸偪忬懺
			state = ESmbMusicApSyncServerPlayerWaitPause;

			break;

		//嵟廔嬋偑嵞惗晄壜僼傽僀儖帪偺堦帪掆巭墳摎懸偪
		case ESmbMusicApSyncServerPlayerErrSongListEnd:
			//儊僢僙乕僕傪搉偡
			iFunc.StackRequestMsg(iMsg);

			//堦帪掆巭梫媮
			res = iFunc.Pause();
			if (KErrNone != res)
				{
				//僋儔僀傾儞僩偵墳摎傪曉偡
				iFunc.SendRes(res);

				//儘僌弌椡
				TInt log = EMusicAPSyncServerClassNumber59 | EMusicAPSyncServerLocationNumber01;
				_LIT(KPlayerPlayerStateErrSong01, "SyncServerPlayerStateErrSong::Pause Error(%d) [aState=%d]");
				SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KPlayerPlayerStateErrSong01, res, aState);

				//僄儔乕側傜偽忬懺慗堏偼偟側偄
//				return aState;
				}

			//摨偠忬懺偱丄ChangeStateNtfy僀儀儞僩傪懸偮

			break;

		default:
			//儘僌弌椡
			log = EMusicAPSyncServerClassNumber59 | EMusicAPSyncServerLocationNumber02;
			_LIT(KPlayerPlayerStateErrSong02, "SyncServerPlayerStateErrSong::Pause default Error[aState=%d]");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KPlayerPlayerStateErrSong02, aState);

		}

	return state;
	}

/**
 忬懺曄峏僀儀儞僩(Pause)
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateErrSong::ChangeStateNtfy(TSmbMusicAPSyncServerPlayerState aState)
	{
	TSmbMusicAPSyncServerPlayerState state = aState;
	TInt log;

	switch (aState)
		{
		//嵞惗晄壜僼傽僀儖専弌忬懺
		case ESmbMusicApSyncServerPlayerErrSong:
			//儘僌弌椡
			log = EMusicAPSyncServerClassNumber59 | EMusicAPSyncServerLocationNumber03;
			_LIT(KPlayerPlayerStateErrSong03, "SyncServerPlayerStateErrSong::ChangeStateNtfy Error[aState=%d]");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KPlayerPlayerStateErrSong03, aState);

			//儀乕僗僋儔僗偺娭悢傪屇傇
			state = CSmbMusicAPSyncServerPlayerStateBase::ChangeStateNtfy(aState);

			break;

		//嵟廔嬋偑嵞惗晄壜僼傽僀儖帪偺堦帪掆巭墳摎懸偪
		case ESmbMusicApSyncServerPlayerErrSongListEnd:
			//堦帪掆巭墳摎傪敪峴偡傞
			iFunc.SendRes(KErrNone);

			//儕僗僩嵞惗姰椆捠抦偺嫟捠憖嶌
			ComFinishPlayListNtfy();

			//傾僀僪儖(堦帪掆巭)忬懺
			state = ESmbMusicAPSyncServerPlayerIdle;

			break;

		default:
			//儘僌弌椡
			log = EMusicAPSyncServerClassNumber59 | EMusicAPSyncServerLocationNumber04;
			_LIT(KPlayerPlayerStateErrSong04, "SyncServerPlayerStateErrSong::ChangeStateNtfy default Error[aState=%d]");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KPlayerPlayerStateErrSong04, aState);

		}

	return state;
	}

/**
 嬋憲傝梫媮
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateErrSong::NextSong(TSmbMusicAPSyncServerPlayerState aState)
	{
	TSmbMusicAPSyncServerPlayerState state = aState;
	TInt log;

	switch (aState)
		{
		//嵞惗晄壜僼傽僀儖専弌忬懺
		case ESmbMusicApSyncServerPlayerErrSong:
			{
			//儊僢僙乕僕傪搉偡
			iFunc.StackRequestMsg(iMsg);

			//嬋憲傝梫媮
			TInt val = iFunc.NextSong();

			//嬋憲傝梫媮偺栠傝抣偑KErrNotFound(儕僗僩偺嵟廔嬋)偺応崌
			if (KErrNotFound == val)
				{
				//儘僌弌椡
				log = EMusicAPSyncServerClassNumber59 | EMusicAPSyncServerLocationNumber05;
				_LIT(KPlayerPlayerStateErrSong05, "SyncServerPlayerStateErrSong::NextSong ErrSong ListEnd(%d) [aState=%d]");
				SmbMusicAPSyncServerLog(iLog, log, ELogLevelHigh, KPlayerPlayerStateErrSong05, val, aState);

				//僋儔僀傾儞僩偵墳摎傪曉偡
				iFunc.SendRes(val);

				//嵟廔嬋偑嵞惗晄壜僼傽僀儖帪偺堦帪掆巭墳摎懸偪忬懺
				return ESmbMusicApSyncServerPlayerErrSongListEnd;
				}
			//嬋憲傝梫媮偺栠傝抣偑僄儔乕偺応崌
			else if (KErrNone != val && KErrNotFound != val)
				{
				//儘僌弌椡
				log = EMusicAPSyncServerClassNumber59 | EMusicAPSyncServerLocationNumber06;
				_LIT(KPlayerPlayerStateErrSong06, "SyncServerPlayerStateErrSong::NextSong Error(%d) [aState=%d]");
				SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KPlayerPlayerStateErrSong06, val, aState);

				//僋儔僀傾儞僩偵墳摎傪曉偡
				iFunc.SendRes(val);

				//忬懺曄峏側偟
				return aState;
				}

			//嵞惗傊偺暅婣懸偪忬懺
			state = ESmbMusicApSyncServerPlayerWaitPlay;
			}
			break;


		//嵟廔嬋偑嵞惗晄壜僼傽僀儖帪偺堦帪掆巭墳摎懸偪
		case ESmbMusicApSyncServerPlayerErrSongListEnd:
			//儘僌弌椡
			log = EMusicAPSyncServerClassNumber59 | EMusicAPSyncServerLocationNumber07;
			_LIT(KPlayerPlayerStateErrSong07, "SyncServerPlayerStateErrSong::NextSong Error[aState=%d]");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KPlayerPlayerStateErrSong07, aState);

			//儀乕僗僋儔僗偺娭悢傪屇傇
			state = CSmbMusicAPSyncServerPlayerStateBase::NextSong(aState);

			break;

		default:
			//儘僌弌椡
			log = EMusicAPSyncServerClassNumber59 | EMusicAPSyncServerLocationNumber08;
			_LIT(KPlayerPlayerStateErrSong08, "SyncServerPlayerStateErrSong::NextSong default Error[aState=%d]");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KPlayerPlayerStateErrSong08, aState);


		}

	return state;
	}


//  ADD-S  [D_82400015425]嵞惗晄壜嬋偺嬋栠偟懳墳
/**
 *  嬋栠偟梫媮
 *  @param[in]	aState	嵞惗宯偺忬懺
 *  @return	嵞惗宯偺忬懺
 **/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateErrSong::PrevSong(TSmbMusicAPSyncServerPlayerState aState)
	{
	TSmbMusicAPSyncServerPlayerState state(aState);
	TInt log(0);

	switch (aState)
		{
		//嵞惗晄壜僼傽僀儖専弌忬懺
		case ESmbMusicApSyncServerPlayerErrSong:
			{
			//儊僢僙乕僕傪搉偡
			iFunc.StackRequestMsg(iMsg);

			//嬋栠偟梫媮
			TInt val = iFunc.PrevSong();
			if (val != KErrNone)
				{
				log = EMusicAPSyncServerClassNumber59 | EMusicAPSyncServerLocationNumber09;
				_LIT(KPlayerPlayerStateErrSong09, "SyncServerPlayerStateErrSong::PrevSong Error=%d [aState=%d]");
				SmbMusicAPSyncServerLog(iLog, log, ELogLevelHigh, KPlayerPlayerStateErrSong09, val, aState);

				//  堦帪掆巭梫媮
				iFunc.Pause();

				//  嵞惗掆巭傪傾僾儕偵捠抦偡傞
				iFunc.SendNotify(ESmbMusicAPSyncEngineStopPlay);

				//BG儕僜乕僗夝曻
				iFunc.ReleaseRsc(ESmbMusicAPSyncServerPlayerBGRsc);

				//僋儔僀傾儞僩偵墳摎傪曉偡
				iFunc.SendRes(val);

				//徣揹椡僞僀儅乕奐巒
				iFunc.StartPowerSaveTimer();

				//傾僀僪儖忬懺傊栠偡
				return ESmbMusicAPSyncServerPlayerIdle;
				}
			//嵞惗傊偺暅婣懸偪忬懺
			state = ESmbMusicApSyncServerPlayerWaitPlay;
			}
			break;

		//嵟廔嬋偑嵞惗晄壜僼傽僀儖帪偺堦帪掆巭墳摎懸偪
		case ESmbMusicApSyncServerPlayerErrSongListEnd:
			{
			//儘僌弌椡
			log = EMusicAPSyncServerClassNumber59 | EMusicAPSyncServerLocationNumber10;
			_LIT(KPlayerPlayerStateErrSong10, "SyncServerPlayerStateErrSong::PrevSong Error[aState=%d]");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KPlayerPlayerStateErrSong10, aState);

			//儀乕僗僋儔僗偺娭悢傪屇傇
			state = CSmbMusicAPSyncServerPlayerStateBase::PrevSong(aState);
			}
			break;

		default:
			{
			//儘僌弌椡
			log = EMusicAPSyncServerClassNumber59 | EMusicAPSyncServerLocationNumber11;
			_LIT(KPlayerPlayerStateErrSong11, "SyncServerPlayerStateErrSong::PrevSong default Error[aState=%d]");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KPlayerPlayerStateErrSong11, aState);
			}
		}
	return state;
	}
//  ADD-E  [D_82400015425]嵞惗晄壜嬋偺嬋栠偟懳墳


/**
 壒検愝掕傪峴偆
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateErrSong::SetVolume(TSmbMusicAPSyncServerPlayerState aState)
	{
	//壒検愝掕偺嫟捠憖嶌
	ComSetVolume();

	//忬懺曄峏側偟
	return aState;
	}

/**
 嵞惗宱夁帪娫傪庢摼偡傞
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateErrSong::GetPlayTime(TSmbMusicAPSyncServerPlayerState aState)
	{
	//嵞惗宱夁帪娫庢摼偺嫟捠憖嶌
	ComGetPlayTime();

	//忬懺曄峏側偟
	return aState;
	}

/**
 奜晹儊儌儕偺忬懺曄峏捠抦
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateErrSong::ChangeExtMem(TSmbMusicAPSyncServerPlayerState /* aState */)
	{
	//墳摎敪峴
	iFunc.SendRes(KErrCancel);

	//儕僜乕僗夝曻偍傛傃儗僕儏乕儉攋婞
	ComChangeExtMem();

//TRK12206懳墳	Add-S丂乮偙偺廋惓偵傛傝杮娭悢偼Base僋儔僗偺ChangeExtMem()偲摨偠張棟傪峴偆乯
	//嵞惗偺宲懕偑晄壜側偺偱嵞惗傪掆巭
	iFunc.SendNotify(ESmbMusicAPSyncEngineStopPlay);
//TRK12206懳墳	Add-E

	//弶婜忬懺傊慗堏
	return ESmbMusicAPSyncServerPlayerInit;
	}

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

⌨️ 快捷键说明

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