📄 smbmusicapmainplayerrscmgr.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 + -