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

📄 smbmusicapsyncserverplayerstatesuspend.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/**
 * 壒検愝掕傪峴偆
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 **/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSuspend::SetVolume(TSmbMusicAPSyncServerPlayerState aState)
	{
	//儊僢僙乕僕傪搉偡
	iFunc.StackRequestMsg(iMsg);

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

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

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

/**
 嵞惗宱夁帪娫傪庢摼偡傞
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSuspend::GetPlayTime(TSmbMusicAPSyncServerPlayerState aState)
	{
	//儊僢僙乕僕傪搉偡
	iFunc.StackRequestMsg(iMsg);

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

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

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

/**
 僙僢僔儑儞愗抐
 * @param [in]	aSeesion		愗抐偡傞僙僢僔儑儞
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSuspend::DisConnect(CSession2& aSession)
	{
	iFunc.ClearResume();

	TBool val = iFunc.DisConnect(aSession);

	if (EFalse == val)
		{
		//傾僾儕廔椆忬懺
		return ESmbMusicApSyncServerPlayerAppEnd;
		}

	//弶婜忬懺
	return ESmbMusicAPSyncServerPlayerInit;
	}

/**
 * 傾僾儕廔椆捠抦庴怣張棟
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 **/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSuspend::AppEnd(TSmbMusicAPSyncServerPlayerState /* aState */)
	{
	//忬懺慗堏偺傒
	return ESmbMusicApSyncServerPlayerAppEnd;
	}

/**
 * 儕僜乕僗夝曻梫媮
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 **/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSuspend::ReleaseRscReq(TSmbMusicAPSyncServerPlayerState aState)
	{
	return aState;
	}

/**
 奜晹儊儌儕偺忬懺曄峏捠抦
 * @param [in]	aState		嵞惗宯偺忬懺
 * @return	嵞惗宯偺忬懺
 */
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSuspend::ChangeExtMem(TSmbMusicAPSyncServerPlayerState /* aState */)
	{
	//儕僜乕僗夝曻偍傛傃儗僕儏乕儉攋婞
	ComChangeExtMem();

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


//  ADD-S PTX824 k3-sugimoto
/**
 *  妋擣屻宲懕嵞惗梫媮
 *
 *  @param[in]	aState		嵞惗宯偺忬懺
 *
 *  @return	嵞惗宯偺忬懺
 **/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSuspend::ConfirmedPlay(TSmbMusicAPSyncServerPlayerState aState)
	{
	//儊僢僙乕僕傪搉偡
	iFunc.StackRequestMsg(iMsg);

	//嵞惗奐巒偺懳徾嬋傪僋儔僀傾儞僩偵捠抦偡傞
	iFunc.PlaySongIndex();

	//MW儕僜乕僗偺庢摼傪梫媮偡傞
	TRAPD(res, iFunc.GetResourceL(ESmbMusicAPSyncServerPlayerMWRsc););
	if (KErrNone != res)
		{	//  儕僜乕僗庢摼偱僄儔乕偑敪惗偟偨応崌
		//墳摎傪敪峴偡傞
		iFunc.SendRes(KErrInUse);

		//儘僌弌椡
		TInt log = EMusicAPSyncServerClassNumber5E | EMusicAPSyncServerLocationNumber01;
		_LIT(KServerPlayerStateSuspend01, "CSmbMusicAPSyncServerPlayerStateSuspend::ConfirmedPlay GetResourceL() [%d][aState=%d]");
		SmbMusicAPSyncServerLog(iLog, log, ELogLevelHigh, KServerPlayerStateSuspend01, res, aState);

		return aState;
		}

	//  儕僜乕僗奐曻捠抦梫媮偲儕僜乕僗妉摼懸偪僞僀儅偺僉儍儞僙儖
	iFunc.CancelDealyAndNotify();

	//嵞惗奐巒傪捠抦偡傞
	iFunc.NotifyStartPlay();

//  MW偺儕僜乕僗妉摼偱偒偰側偄偺偱偙偙偱峴偆偺偼僟儊
//	//僆乕僨傿僆偺弌椡忬懺傪挷傋傞
//	iFunc.CheckLineOut();

	//僒僗儁儞僪拞偵嵞惗梫媮傪庴怣屻丄MW儕僜乕僗妉摼懸偪
	return ESmbMusicApSyncServerPlayerSusPlayWaitMWRsc;
	}


/**
 *  儕僜乕僗偑奐曻偝傟偨捠抦
 *
 *  @param[in]	aState		嵞惗宯偺忬懺
 *
 *  @return	嵞惗宯偺忬懺
 **/
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSuspend::ReleaseRscNotify(TSmbMusicAPSyncServerPlayerState aState)
	{
	//  儕僜乕僗妉摼抶墑僞僀儅僗僞乕僩
	iFunc.StartGetRscDelayTimer();

	return aState;
	}


/**
 *  儕僜乕僗妉摼懸偪僞僀儅枮椆
 *
 *  @param[in]	aState		嵞惗宯偺忬懺
 *
 *  @return	嵞惗宯偺忬懺
 **/
#ifdef __SMBMUSICAP_DESABLE_SUPERDUKE__
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSuspend::ExpireGerRscTimer(TSmbMusicAPSyncServerPlayerState aState)
	{
	TInt result = KErrNone;

	//  儕僜乕僗妉摼壜斲僠僃僢僋(摨婜)
	TRAPD(error, result = iFunc.CheckResouceGetableL(););
	if ((error == KErrNone) && (result == KErrNone))
		{
		//  僆乕僩儗僕儏乕儉壜擻捠抦
		iFunc.SendNotify(ESmbMusicAPSyncEngineEnableAuteResume);
		}
	else
		{	//  儕僜乕僗嫞崌妋擣偱僄儔乕傑偨偼儕僜乕僗妉摼NG偺応崌
		if (result == KErrInUse)
			{
			TSmbMusicAPSyncServerPlayerRscType rscType;
			// 夝曻偟偰偄側偄儕僜乕僗偺ID傪庢摼偡傞
			result = iFunc.GetResultResourceType(rscType);
			if (KErrNotFound != result)
				{
				//  嵞搙儕僜乕僗奐曻捠抦梫媮傪峴偆
				TRAP(error, result = iFunc.StartRscReleaseNotifyL(rscType););
				if ((error != KErrNone) || (result != KErrNone))
					{
					// 儘僌弌椡
					TInt log = EMusicAPSyncServerClassNumber5E | EMusicAPSyncServerLocationNumber01;
					_LIT(KServerPlayerStateSuspend01, "CSmbMusicAPSyncServerPlayerStateSuspend::ExpireGerRscTimer-StartRscReleaseNotifyL Fail");
					SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerStateSuspend01);
					}
				}
			else
				{
				// 儘僌弌椡
				TInt log = EMusicAPSyncServerClassNumber5E | EMusicAPSyncServerLocationNumber01;
				_LIT(KServerPlayerStateSuspend01, "CSmbMusicAPSyncServerPlayerStateSuspend::ExpireGerRscTimer-GetResultResourceType Fail");
				SmbMusicAPSyncServerLog(iLog, log, ELogLevelNormal, KServerPlayerStateSuspend01);
				}
			}
		else
			{
			// 儘僌弌椡
			TInt log = EMusicAPSyncServerClassNumber5E | EMusicAPSyncServerLocationNumber01;
			_LIT(KServerPlayerStateSuspend01, "CSmbMusicAPSyncServerPlayerStateSuspend::ExpireGerRscTimer-CheckResouceGetableL Fail");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerStateSuspend01);
			}
		}

	return aState;
	}

#else // __SMBMUSICAP_DESABLE_SUPERDUKE__
TSmbMusicAPSyncServerPlayerState CSmbMusicAPSyncServerPlayerStateSuspend::ExpireGerRscTimer(TSmbMusicAPSyncServerPlayerState aState)
	{
	TInt result(KErrNone);
	//  儕僜乕僗妉摼壜斲僠僃僢僋(摨婜)
	TRAPD(error, result = iFunc.CheckResouceGetableL(););
	if ((error != KErrNone) || (result != KErrNone))
		{	//  儕僜乕僗嫞崌妋擣偱僄儔乕傑偨偼儕僜乕僗妉摼NG偺応崌
		//  嵞搙儕僜乕僗奐曻捠抦梫媮傪峴偆
		TRAP(error, result = iFunc.StartRscReleaseNotifyL(););
		if (result == KErrCompletion)
			{	//  儕僜乕僗奐曻梫媮偵BG儕僜乕僗偑娷傑傟偰偄側偐偭偨応崌
			//  偁傝偊側偄偲偼巚偄傑偡
			TInt log = EMusicAPSyncServerClassNumber5E | EMusicAPSyncServerLocationNumber01;
			_LIT(KServerPlayerStateSuspend01, "CSmbMusicAPSyncServerPlayerStateSuspend::ExpireGerRscTimer not include BGRsc");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KServerPlayerStateSuspend01);
			}
		else if ((error != KErrNone) || (result != KErrNone))
			{
			//  僆乕僩儗僕儏乕儉偱偒側偄儘僌
			TInt log = EMusicAPSyncServerClassNumber5E | EMusicAPSyncServerLocationNumber01;
			_LIT(KServerPlayerStateSuspend01, "CSmbMusicAPSyncServerPlayerStateSuspend::ExpireGerRscTimer StartRscReleaseNotifyL is Error(r:%d, e:%d)");
			SmbMusicAPSyncServerLog(iLog, log, ELogLevelHigh, KServerPlayerStateSuspend01, result, error);
			}

		return aState;
		}

	//  僆乕僩儗僕儏乕儉壜擻壔捠抦
	iFunc.SendNotify(ESmbMusicAPSyncEngineEnableAuteResume);

	return aState;
	}
//  ADD-E PTX824 k3-sugimoto
#endif // __SMBMUSICAP_DESABLE_SUPERDUKE__

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

⌨️ 快捷键说明

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