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

📄 smbmusicapmainplayerrscmgr.cpp

📁 symbian
💻 CPP
字号:
/* Copyright (C) 2007 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//	CSmbMusicAPMainPlayerRscMgr.cpp
//
// Description:
//	儈儏乕僕僢僋梡徻嵶忣曬昞帵儕僜乕僗儅僱乕僕儍僋儔僗
/*-------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅				|曄峏幰			|撪梕
//------------------+---------------+----------------------------------------
//2007/02/20		|SDNA 桍郪		|怴婯嶌惉亂TRK1604懳墳亃
//------------------+---------------+----------------------------------------

#include "SmbMusicAPMainPlayerPlayDebug.h"

#include "SmbMusicAPMainPlayerRscMgr.h"

#ifndef __SMBMUSICAPMAINPLAYERAPPUI_H__
#include "SmbMusicAPMainPlayerAppUi.h"
#endif

#ifndef __SMBMUSICAPMAINPLAYERUTILITY_H__
#include "SmbMusicAPMainPlayerUtility.h"
#endif

#ifndef FJAFENV_H__
#include <FjAfEnv.h>
#endif

USING_NAMESPACE_DCM
SEMCJ_NAMESPACE_BEGIN

///////////////////////////////////////////////////////////////////////////////

/**
 僼傽僋僩儕娭悢
 * @param	側偟
 * @return	惗惉偟偨僋儔僗偺億僀儞僞
 */
CSmbMusicAPMainPlayerRscMgr* CSmbMusicAPMainPlayerRscMgr::NewL()
	{
	CSmbMusicAPMainPlayerRscMgr* self = new(ELeave) CSmbMusicAPMainPlayerRscMgr();
	CleanupStack::PushL(self);
	self->ConstructL();
	CleanupStack::Pop(self);
	return self;
	}
	
/**
 * 僐儞僗僩儔僋僞
 */
CSmbMusicAPMainPlayerRscMgr::CSmbMusicAPMainPlayerRscMgr()
	:iLog(CAfEnv::Static()->Log())
	{
	// 摿偵壗傕張棟偟側偄
	}

/**
 * 2僼僃乕僘僐儞僗僩儔僋僞
 */
void CSmbMusicAPMainPlayerRscMgr::ConstructL()
	{
	iRscMgrRscClient = CSmbRscMgrRscClient::NewL(this, this, KSmbMusicAPMainPlayerUid);
	}

/**
 * 僨僗僩儔僋僞
 */
CSmbMusicAPMainPlayerRscMgr::~CSmbMusicAPMainPlayerRscMgr()
	{
	delete iRscMgrRscClient;
	delete iRscResultList;
	}

/**
 * 儕僜乕僗梫媮
 */
void CSmbMusicAPMainPlayerRscMgr::RequestAllocResourceL(void)
	{
	_LIT(KLogFmt0, "CSmbMusicAPMainPlayerRscMgr::RequestAllocResourceL()[START]");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, 13910, ELogLevelNormal, KLogFmt0);

	//妉摼儕僜乕僗儕僗僩惗惉
	CArrayFixFlat<TSmbRscMgrRscPriority>* rscPriorityList = new (ELeave) CArrayFixFlat<TSmbRscMgrRscPriority>(KSmbRscMgrAppRscListMax);

	CleanupStack::PushL(rscPriorityList);
	TSmbRscMgrRscPriority rscPriority;

#ifdef __SMBMUSICAP_PTX824_DEF__
	rscPriority.iRscId    = ESmbRscMgrRscSdKeyBind;				// SD(Bind)
#else
	rscPriority.iRscId    = static_cast<TSmbRscMgrRsc>(25);		//ESmbRscMgrRscSdKeyBind;				// SD(Bind)
#endif
	rscPriority.iPriority = KSmbRscMgrRscPriorityValueLow;
	rscPriorityList->AppendL(rscPriority);

	if (NULL == iRscResultList)
		{
		iRscResultList = new (ELeave) CArrayFixFlat<TSmbRscMgrRscAllocId>(KSmbRscMgrAppRscListMax);
		}
	//儕僜乕僗妉摼梫媮
	iRscMgrRscClient->AllocationResourceReqL(rscPriorityList, iRscResultList);
	
	CleanupStack::PopAndDestroy();	//rscPriorityList
	

	_LIT(KLogFmt1, "CSmbMusicAPMainPlayerRscMgr::RequestAllocResourceL()[END]");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, 13911, ELogLevelNormal, KLogFmt1);
	}

/**
 * 儕僜乕僗奐曻
 */
void CSmbMusicAPMainPlayerRscMgr::ReleaseResourceL(void)
	{
	_LIT(KLogFmt0, "CSmbMusicAPMainPlayerRscMgr::ReleaseResourceL()[START]");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, 13920, ELogLevelNormal, KLogFmt0);

	if (NULL != iRscResultList)
		{
		// 奐曻儕僜乕僗儕僗僩傪惗惉偡傞
		CArrayFixFlat<TSmbRscMgrRsc>* releaseRscList = new (ELeave) CArrayFixFlat<TSmbRscMgrRsc>(KSmbRscMgrAppRscListMax);
		CleanupStack::PushL(releaseRscList);
		// 奐曻儕僜乕僗儕僗僩偵儕僜乕僗俬俢傪愝掕偡傞
		for (TInt i = 0; i < iRscResultList->Count(); i++)
			{
			releaseRscList->AppendL(iRscResultList->At(i).iRscId);
			}
		// 儕僜乕僗嫞崌娗棟偵儕僜乕僗奐曻捠抦偡傞
		TInt err = KErrNone;
		TRAP(err, iRscMgrRscClient->ReleaseResourceNotifyL(releaseRscList));
		if (KErrNone == err)
			{
			//儘僌弌椡
			_LIT(KLogFmt1, "CSmbMusicAPMainPlayerRscMgr::ReleaseResourceL()[OK!]");
			SmbMusicAPMainPlayerUtility::OutputLog(iLog, 13921, ELogLevelNormal, KLogFmt1);
			}
		else
			{
			//儘僌弌椡
			_LIT(KLogFmt2, "CSmbMusicAPMainPlayerRscMgr::ReleaseResourceL()[NG!]");
			SmbMusicAPMainPlayerUtility::OutputLog(iLog, 13922, ELogLevelNormal, KLogFmt2);
			}
		// 奐曻儕僜乕僗儕僗僩傪嶍彍偡傞
		CleanupStack::PopAndDestroy(); // releaseRscList
		}

	_LIT(KLogFmt3, "CSmbMusicAPMainPlayerRscMgr::ReleaseResourceL()[END]");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, 13923, ELogLevelNormal, KLogFmt3);
	}

/**
 *	儕僜乕僗棙梡尃妉摼墳摎傪捠抦
 *
 *	@param[in] aResult	儕僜乕僗妉摼梫媮偺敾掕寢壥
 */
void CSmbMusicAPMainPlayerRscMgr::AllocationResourceResL(TSmbRscMgrRscResult aResult)
	{
	_LIT(KLogFmt0, "CSmbMusicAPMainPlayerRscMgr::AllocationResourceResL()[START aResult = %d]");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, 13930, ELogLevelNormal, KLogFmt0, aResult);

	TSmbMusicAPMainPlayerRscMgrResponse res = ENone;
	switch(aResult)
		{
		case ESmbRscMgrRscResultOK:							//儕僜乕僗棙梡尃妉摼嫋壜丄儕僜乕僗忳搉OK丄儕僜乕僗嫞崌側偟
			res = ESmbMusicAPMainPlayerRscMgrGetRscOKRes;	//儕僜乕僗庢摼OK僐儅儞僪
			break;

		case ESmbRscMgrRscResultNG:							//儕僜乕僗棙梡尃妉摼嫅斲丄儕僜乕僗忳搉NG丄儕僜乕僗嫞崌偁傝
		case ESmbRscMgrRscResultCanceled:					//僉儍儞僙儖張棟惉岟
		case ESmbRscMgrRscResultAbort:						//張棟偺拞抐
		default:
			res = ESmbMusicAPMainPlayerRscMgrGetRscNGRes;	//儕僜乕僗庢摼NG僐儅儞僪
			break;

		}

	// 仸廋惓僐僗僩嶍尭偺偨傔丄CAfEnv傪捠偠偰捈愙AppUi傪棙梡偡傞
	CSmbMusicAPMainPlayerAppUi* appUi = static_cast<CSmbMusicAPMainPlayerAppUi*>(CAfEnv::Static()->EikEnv().EikAppUi());
	//儕僜乕僗棙梡尃墳摎寢壥張棟
	appUi->ResourceResL(res);

	_LIT(KLogFmt1, "CSmbMusicAPMainPlayerRscMgr::AllocationResourceResL()[END res = %d]");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, 13931, ELogLevelNormal, KLogFmt1, res);

	}

/**
 *	儕僜乕僗奐曻梫媮傪捠抦
 *
 *	@param[in] aList	奐曻傪梫媮偡傞儕僜乕僗偺儕僗僩
 */
void CSmbMusicAPMainPlayerRscMgr::ReleaseResourceReqL(CArrayFixFlat<TSmbRscMgrRsc>* /*aList*/)
	{
	_LIT(KLogFmt0, "CSmbMusicAPMainPlayerRscMgr::ReleaseResourceReqL()[START]");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, 13940, ELogLevelNormal, KLogFmt0);

	// 仸廋惓僐僗僩嶍尭偺偨傔丄CAfEnv傪捠偠偰捈愙AppUi傪棙梡偡傞
	CSmbMusicAPMainPlayerAppUi* appUi = static_cast<CSmbMusicAPMainPlayerAppUi*>(CAfEnv::Static()->EikEnv().EikAppUi());
	//儕僜乕僗棙梡尃墳摎寢壥張棟
	appUi->ResourceResL(ESmbMusicAPMainPlayerRscMgrReleaseRscReq);

	_LIT(KLogFmt1, "CSmbMusicAPMainPlayerRscMgr::ReleaseResourceReqL()[END]");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, 13941, ELogLevelNormal, KLogFmt1);
	}

/**
 *	儕僜乕僗棙梡尃忳搉墳摎傪捠抦
 *
 *	@param[in] aResult	儕僜乕僗忳搉梫媮偺敾掕寢壥
 */
void CSmbMusicAPMainPlayerRscMgr::ReallocationResourceResL(TSmbRscMgrRscResult /*aResult*/)
	{
	// 摿偵壗傕張棟偟側偄
	}

/**
 *	儕僜乕僗嫞崌妋擣墳摎傪捠抦
 *
 *	@param[in] aResult	儕僜乕僗嫞崌妋擣梫媮偺敾掕寢壥
 */
void CSmbMusicAPMainPlayerRscMgr::CheckResourceCompetitionResL(TSmbRscMgrRscResult /*aResult*/)
	{
	// 摿偵壗傕張棟偟側偄
	}
SEMCJ_NAMESPACE_END


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

⌨️ 快捷键说明

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