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

📄 smbmusicapsyncserverplayerstatesuswaitmwrsc.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPSyncServerPlayerStateSusPlayWaitMWRsc.cpp
//
// Description:
//	PTX810 Music傾僾儕 摨婜僒乕僶 僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰			|撪梕
//--------------+---------------+--------------------------------------
//2006/06/09	|娵壀			|怴婯嶌惉
//2006/09/19	|暯壀			|TRK9636懳墳
//---PTX824-----+---------------+--------------------------------------
//2007/09/05	|K3悪杮			|[D_82400013264,D_82400013431]僆乕僩儗僕儏乕儉帪偺嵞惗僼儔僌懳墳


#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATESUSWAITMWRSC_H__
#include "SmbMusicAPSyncServerPlayerStateSusWaitMWRsc.h"
#endif

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

USING_NAMESPACE_SEMCJ

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

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

/**
 儕僜乕僗庢摼OK墳摎
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSusWaitMWRsc::GetRscOKRes(TSmbMusicAPSyncServerPlayerState aState)
	{
//TRK9636 DEL-S
//	//儕僜乕僗庢摼OK墳摎偺嫟捠憖嶌
//	TInt res = ComGetRscOKRes();
//	if (KErrNone != res)
//		{
//		//儘僌弌椡
//		TInt log = EMusicAPSyncServerClassNumber60 | EMusicAPSyncServerLocationNumber00;
//		_LIT(KServerPlayerStateSusWaitMWRsc00, "SyncServerPlayerStateSusWaitMWRsc::GetRscOKRes ComGetRscOKRes()(SetPlayer()) Err [%d]");
//		SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerStateSusWaitMWRsc00, res);
//
//		//MW儕僜乕僗傪夝曻
//		iFunc.ReleaseRsc(ESmbMusicAPSyncServerPlayerMWRsc);
//
//		//墳摎傪曉偡
//		iFunc.SendRes(res);
//
//		//僒僗儁儞僪忬懺
//		return ESmbMusicApSyncServerPlayerSuspend;
//		}
//TRK9636 DEL-E
	TInt res = KErrNone;
	TSmbMusicAPSyncServerPlayerState state = aState;

	switch(aState)
		{
	//僒僗儁儞僪拞偵嵞惗梫媮傪庴怣屻丄MW儕僜乕僗妉摼懸偪偺応崌
	case ESmbMusicApSyncServerPlayerSusPlayWaitMWRsc:
//TRK9636 ADD-S
		//儕僜乕僗庢摼OK墳摎偺嫟捠憖嶌
		res = ComGetRscOKRes();
		if (KErrNone != res)
			{
			//儘僌弌椡
			TInt log = EMusicAPSyncServerClassNumber60 | EMusicAPSyncServerLocationNumber03;
			_LIT(KServerPlayerStateSusWaitMWRsc03, "SyncServerPlayerStateSusWaitMWRsc::GetRscOKRes ComGetRscOKRes()(SetPlayer()) Err [%d][aState=%d]");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerStateSusWaitMWRsc03, res, aState);

			//MW儕僜乕僗傪夝曻
			iFunc.ReleaseRsc(ESmbMusicAPSyncServerPlayerMWRsc);

			//墳摎傪曉偡
			iFunc.SendRes(res);

			//僒僗儁儞僪忬懺
			return ESmbMusicApSyncServerPlayerSuspend;
			}
//TRK9636 ADD-E

		//僒僗儁儞僪拞偵嵞惗梫媮傪庴怣屻丄嵞惗僐儞僥僉僗僩墳摎懸偪忬懺
		state = ESmbMusicApSyncServerPlayerSusPlayWaitCnt;
		break;

	//僒僗儁儞僪拞偵嵞惗弨旛梫媮傪庴怣丄MW儕僜乕僗妉摼懸偪偺応崌
	case ESmbMusicApSyncServerPlayerSusPrePlayWaitMWRsc:
//TRK9636 ADD-S
		//僾儗僀儎乕惂屼MW偲僙僢僔儑儞傪愙懕偡傞
		res = iFunc.ConnectPlayer();
		if(KErrNone != res)
			{
			//儘僌弌椡
			TInt log = EMusicAPSyncServerClassNumber60 | EMusicAPSyncServerLocationNumber04;
			_LIT(KServerPlayerStateSusWaitMWRsc04, "SyncServerPlayerStateSusWaitMWRsc::GetRscOKRes ConnectPlayer() Err [%d][aState=%d]");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerStateSusWaitMWRsc04, res, aState);

			//僙僢僔儑儞偺愙懕偵幐攕偟偨偺偱MW儕僜乕僗傪夝曻
			iFunc.ReleaseRsc(ESmbMusicAPSyncServerPlayerMWRsc);

			//墳摎傪曉偡
			iFunc.SendRes(res);

			//僒僗儁儞僪忬懺
			return ESmbMusicApSyncServerPlayerSuspend;
			}
		//慡偰偺愝掕抣傪傑偲傔偰愝掕偡傞
		iFunc.SetMusicParam(ESmbMusicAPSyncServerPlayerSetFromLocal);

		//壒埑儗儀儖庢摼儌乕僪傪愝掕偡傞
		iFunc.SetSoundLevelMode(ESmbMusicAPSyncServerPlayerSetFromLocal);

		//Func僋儔僗偺愝掕抣傪僾儗僀儎乕惂屼偵愝掕偡傞
		res = iFunc.SetPlayer(ESmbMusicAPSyncServerPlayerSetFromMsg);
		if(KErrNone != res)
			{
			//儘僌弌椡
			TInt log = EMusicAPSyncServerClassNumber60 | EMusicAPSyncServerLocationNumber05;
			_LIT(KServerPlayerStateSusWaitMWRsc05, "SyncServerPlayerStateSusWaitMWRsc::GetRscOKRes SetPlayer() Err [%d][aState=%d]");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerStateSusWaitMWRsc05, res, aState);

			//MW儕僜乕僗傪夝曻
			iFunc.ReleaseRsc(ESmbMusicAPSyncServerPlayerMWRsc);

			//墳摎傪曉偡
			iFunc.SendRes(res);

			//僒僗儁儞僪忬懺
			return ESmbMusicApSyncServerPlayerSuspend;
			}
//TRK9636 ADD-E

		//僒僗儁儞僪拞偵嵞惗弨旛梫媮傪庴怣丄嵞惗僐儞僥僉僗僩墳摎懸偪忬懺
		state = ESmbMusicApSyncServerPlayerSusPrePlayWaitCnt;
		break;

	//僒僗儁儞僪拞偵嬋憲傝梫媮傪庴怣屻丄MW儕僜乕僗妉摼懸偪偺応崌
	case ESmbMusicApSyncServerPlayerSusNextWaitMWRsc:
//TRK9636 ADD-S
		//儕僜乕僗庢摼OK墳摎偺嫟捠憖嶌
		res = ComGetRscOKRes();
		if (KErrNone != res)
			{
			//儘僌弌椡
			TInt log = EMusicAPSyncServerClassNumber60 | EMusicAPSyncServerLocationNumber06;
			_LIT(KServerPlayerStateSusWaitMWRsc06, "SyncServerPlayerStateSusWaitMWRsc::GetRscOKRes ComGetRscOKRes()(SetPlayer()) Err [%d][aState=%d]");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerStateSusWaitMWRsc06, res, aState);

			//MW儕僜乕僗傪夝曻
			iFunc.ReleaseRsc(ESmbMusicAPSyncServerPlayerMWRsc);

			//墳摎傪曉偡
			iFunc.SendRes(res);

			//僒僗儁儞僪忬懺
			return ESmbMusicApSyncServerPlayerSuspend;
			}
//TRK9636 ADD-E

		//僒僗儁儞僪拞偵嬋憲傝梫媮傪庴怣屻丄嵞惗僐儞僥僉僗僩墳摎懸偪忬懺
		state = ESmbMusicApSyncServerPlayerSusNextWaitCnt;
		break;

	//僒僗儁儞僪拞偵嬋栠偟梫媮傪庴怣屻丄MW儕僜乕僗妉摼懸偪偺応崌
	case ESmbMusicApSyncServerPlayerSusPrevWaitMWRsc:
//TRK9636 ADD-S
		//儕僜乕僗庢摼OK墳摎偺嫟捠憖嶌
		res = ComGetRscOKRes();
		if (KErrNone != res)
			{
			//儘僌弌椡
			TInt log = EMusicAPSyncServerClassNumber60 | EMusicAPSyncServerLocationNumber07;
			_LIT(KServerPlayerStateSusWaitMWRsc07, "SyncServerPlayerStateSusWaitMWRsc::GetRscOKRes ComGetRscOKRes()(SetPlayer()) Err [%d][aState=%d]");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerStateSusWaitMWRsc07, res, aState);

			//MW儕僜乕僗傪夝曻
			iFunc.ReleaseRsc(ESmbMusicAPSyncServerPlayerMWRsc);

			//墳摎傪曉偡
			iFunc.SendRes(res);

			//僒僗儁儞僪忬懺
			return ESmbMusicApSyncServerPlayerSuspend;
			}
//TRK9636 ADD-E

		//僒僗儁儞僪拞偵嬋栠偟梫媮傪庴怣屻丄嵞惗僐儞僥僉僗僩墳摎懸偪忬懺
		state = ESmbMusicApSyncServerPlayerSusPrevWaitCnt;
		break;

	//僒僗儁儞僪拞偵摢偩偟梫媮傪庴怣屻丄MW儕僜乕僗妉摼懸偪偺応崌
	case ESmbMusicApSyncServerPlayerSusHeadWaitMWRsc:
//TRK9636 ADD-S
		//儕僜乕僗庢摼OK墳摎偺嫟捠憖嶌
		res = ComGetRscOKRes();
		if (KErrNone != res)
			{
			//儘僌弌椡
			TInt log = EMusicAPSyncServerClassNumber60 | EMusicAPSyncServerLocationNumber08;
			_LIT(KServerPlayerStateSusWaitMWRsc08, "SyncServerPlayerStateSusWaitMWRsc::GetRscOKRes ComGetRscOKRes()(SetPlayer()) Err [%d][aState=%d]");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerStateSusWaitMWRsc08, res, aState);

			//MW儕僜乕僗傪夝曻
			iFunc.ReleaseRsc(ESmbMusicAPSyncServerPlayerMWRsc);

			//墳摎傪曉偡
			iFunc.SendRes(res);

			//僒僗儁儞僪忬懺
			return ESmbMusicApSyncServerPlayerSuspend;
			}
//TRK9636 ADD-E

		//僒僗儁儞僪拞偵摢偩偟梫媮傪庴怣屻丄嵞惗僐儞僥僉僗僩墳摎懸偪忬懺
		state = ESmbMusicApSyncServerPlayerSusHeadWaitCnt;
		break;

	default:
		//儘僌弌椡
		TInt log = EMusicAPSyncServerClassNumber60 | EMusicAPSyncServerLocationNumber01;
		_LIT(KServerPlayerStateSusWaitMWRsc01, "SyncServerPlayerStateSusWaitMWRsc::GetRscOKRes default");
		SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerStateSusWaitMWRsc01, aState);
		break;
		}

	return state;
	}

/**
 儕僜乕僗庢摼NG墳摎
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSusWaitMWRsc::GetRscNGRes(TSmbMusicAPSyncServerPlayerState /* aState */)
	{
	//NG墳摎(儕僜乕僗偑巊梡偱偒側偄)
	iFunc.SendRes(KErrInUse);

//  ADD-S  [D_82400013264,D_82400013431]僆乕僩儗僕儏乕儉帪偺嵞惗僼儔僌懳墳
	TInt result(KErrNone);
	TRAPD(error, result = iFunc.StartRscReleaseNotifyForARPL(););
	if ((error != KErrNone) || (result != KErrNone))
		{
		//  僆乕僩儗僕儏乕儉偱偒側偄儘僌
		TInt log = EMusicAPSyncServerClassNumber60 | EMusicAPSyncServerLocationNumber02;
		_LIT(KServerPlayerStateSusWaitMWRsc09, "CSmbMusicAPSyncServerPlayerStateSusWaitMWRsc::GetRscNGRes StartRscReleaseNotifyForARPL is Error(r:%d, e:%d)");
		SmbMusicAPSyncServerLog(iLog, log, ELogLevelHigh, KServerPlayerStateSusWaitMWRsc09, result, error);
		}
//  ADD-E  [D_82400013264,D_82400013431]僆乕僩儗僕儏乕儉帪偺嵞惗僼儔僌懳墳


	//僒僗儁儞僪忬懺(堦帪掆巭)
	return ESmbMusicApSyncServerPlayerSuspend;
	}

/**
 堦帪掆巭梫媮
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSusWaitMWRsc::Pause(TSmbMusicAPSyncServerPlayerState /* aState */)
	{
	//堦帪掆巭梫媮偺嫟捠憖嶌
	ComPauseCancel();

	//僒僗儁儞僪忬懺
	return ESmbMusicApSyncServerPlayerSuspend;
	}

/**
 僙僢僔儑儞愗抐
 * @param [in]	aSession		愗抐偡傞僙僢僔儑儞
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSusWaitMWRsc::DisConnect(CSession2& aSession)
	{
	//僙僢僔儑儞愗抐偺嫟捠憖嶌
	TBool val = ComDisConnect(aSession);

	if (EFalse != val)
		{
		//弶婜忬懺傊慗堏
		return ESmbMusicAPSyncServerPlayerInit;
		}

	//ComDisConnect()偑僄儔乕偺応崌丄傾僾儕廔椆忬懺傊慗堏
	return ESmbMusicApSyncServerPlayerAppEnd;


	}

/**
 儕僜乕僗夝曻梫媮
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSusWaitMWRsc::ReleaseRscReq(TSmbMusicAPSyncServerPlayerState /* aState */)
	{
	//慡儕僜乕僗夝曻梫媮偺嫟捠憖嶌(慡儕僜乕僗庢摼偺僉儍儞僙儖偲僋儔僀傾儞僩傊偺墳摎)
	ComReleaseAllRscReq(EFalse);

	//僒僗儁儞僪忬懺
	return ESmbMusicApSyncServerPlayerSuspend;
	}

/**
 壒検愝掕傪峴偆
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSusWaitMWRsc::SetVolume(TSmbMusicAPSyncServerPlayerState aState)
	{
	//儊僢僙乕僕傪搉偡
	iFunc.StackRequestMsg(iMsg);

	//撪晹偱曐帩偟偰偄傞愝掕抣傪曄峏
	TInt val = iFunc.SetVolume(ESmbMusicAPSyncServerPlayerStackLocalFromMsg);

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

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

/**
 * HW堎忢捠抦
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 **/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSusWaitMWRsc::HWAbort(TSmbMusicAPSyncServerPlayerState aState)
	{
	//儘僌弌椡
	TInt log = EMusicAPSyncServerClassNumber60 | EMusicAPSyncServerLocationNumber02;
	_LIT(KPlayerPlayerStateSusWaitMWRsc02, "SyncServerPlayerStateSusWaitMWRsc::HWAbort [aState=%d]");
	SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KPlayerPlayerStateSusWaitMWRsc02, aState);

	//慡偰偺儕僜乕僗偺庢摼僉儍儞僙儖偍傛傃夝曻
	iFunc.CancelAndReleaseAllRsc(EFalse);

	//墳摎傪敪峴偡傞
	iFunc.SendRes(KErrNotReady);

	//HW堎忢傪捠抦
	iFunc.SendNotify(ESmbMusicAPSyncEnginePlayHWAbort);

	//弶婜忬懺
	return ESmbMusicAPSyncServerPlayerInit;
	}

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

	//MW儕僜乕僗傪僉儍儞僙儖偡傞
	iFunc.CancelGetRsc(ESmbMusicAPSyncServerPlayerMWRsc);

	//儗僕儏乕儉忣曬攋婞
	iFunc.ClearResume();

	//張棟柍偟
	return ESmbMusicAPSyncServerPlayerInit;
	}

/**
 傾僾儕廔椆捠抦
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSusWaitMWRsc::AppEnd(TSmbMusicAPSyncServerPlayerState /* aState */)
	{
	//墳摎傪敪峴偡傞
	iFunc.SendRes(KErrNone);

	//MW儕僜乕僗梫媮僉儍儞僙儖偲傾僾儕廔椆捠抦
	ComAppEndCancelRsc();

	//傾僾儕廔椆忬懺
	return ESmbMusicApSyncServerPlayerAppEnd;
	}


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

⌨️ 快捷键说明

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