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

📄 smbmusicapfilemgrutility.cpp

📁 索爱手机代码
💻 CPP
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
/**
 * @file  SmbMusicAPFileMgrUtility.cpp
 * @brief 儈儏乕僕僢僋僼傽僀儖娗棟 儐乕僥傿儕僥傿僋儔僗
 */
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅          |曄峏幰     |撪梕
//--------------+-----------+-------------------------------------------
//2006/07/04    |SDNA挿旜   |怴婯嶌惉
//2006/07/15    |SDNA挿旜   |儗僕儏乕儉忣曬攋婞(DeleteResumeInfoL())偺捛壛
//2006/07/19    |SDNA挿旜   |僼傽僀儖僔僗僥儉嫟捠儔僀僽儔儕傾僀僐儞庬暿曄姺(ConvertIconType)偺捛壛
//2006/07/25    |SDNA挿旜   |SmbMM偐傜攓庁 (SPrintfLC(), VSPrintfLC(), TSmbMusicAPFileMgr_Noop4DesOverflow)
//2006/09/06    |SDNA挿旜   |EItemIconTypeListSDBindFolder偵懳墳 (ConvertIconType())
//2006/09/16    |SDNA挿旜   |SmbMusicAPFileMgrUtility::OutputLog()傪嶍彍
//2006/10/04    |SDNA挿旜   |僐乕僨傿儞僌婯栺忋偺廋惓
//--------------+-----------+-------------------------------------------
//PTX825
//2007/06/29	|SDNA彑枔	| 拝怣壒愝掕懳墳

#include <SmbPGMusic.h>

#ifdef __PTX825MUSICAP__								//  825_katsu 伀
#include <SmbSettingUtility.h>
#include "SmbMusicAPFileMgrExternalInterface.h"
#endif													// __PTX825MUSICAP__ katsu 仾

#include "SmbMusicAPFileMgrUtility.h"

USING_NAMESPACE_DCM
USING_NAMESPACE_SEMCJ

#ifdef __PTX825MUSICAP__								//  825_katsu 伀
/**
 *  慖戰庬暿偐傜揔墳偡傞愝掕AP偺壒愝掕抣傪儅僢僺儞僌偡傞偨傔偺僥乕僽儖丅
 */
const TSmbMusicAPFleMgrSelectSoundTable KSelectTable[] =
	{
		// 庬暿
		{ ECmdSelectCallVoice	,	CSmbSettingUtility::ESetCKind_TelRecv		},
		{ ECmdSelectCallTv		,	CSmbSettingUtility::ESetCKind_TvRecv		},
		{ ECmdSelectCallPoc		,	CSmbSettingUtility::ESetCKind_PocRecv		},
		{ ECmdSelectCallMail	,	CSmbSettingUtility::ESetCKind_MailComplete	},
		{ ECmdSelectCallMsgR	,	CSmbSettingUtility::ESetCKind_MsgRComplete	},
		{ ECmdSelectCallMsgF	,	CSmbSettingUtility::ESetCKind_MsgFComplete	}
	};
#endif													// __PTX825MUSICAP__ katsu 仾


/**
 * @param[in]		aPropAgent			僾儘僷僥傿僄乕僕僃儞僩
 */
void SmbMusicAPFileMgrUtility::DeleteResumeInfoL(DCM_NAMESPACE::RPGPropAgent& aPropAgent)
	{
	//儗僕儏乕儉忣曬攋婞
	SmbPGMusic::SetAPResumeInfoDeleteIndicationL(aPropAgent, ETrue);
	SmbPGMusic::SetAPResumeInfoDeleteIndicationL(aPropAgent, EFalse);
	}

/**
 * @param[in]		aPropAgent			僾儘僷僥傿僄乕僕僃儞僩
 */
void SmbMusicAPFileMgrUtility::MusicAPCompSDBindNotificationL(DCM_NAMESPACE::RPGPropAgent& aPropAgent)
	{
	//1嬋嵞惗傊偺SD-Bind嫞崌捠抦
	SmbPGMusic::SetMusicAPCompNotificationL(aPropAgent, ESmbPGMusicAPCompSDBind);
	SmbPGMusic::SetMusicAPCompNotificationL(aPropAgent, ESmbPGMusicAPCompNone);
	}
	
/**
 * @param[in]		aFsComIconType		僼傽僀儖僔僗僥儉嫟捠儔僀僽儔儕 傾僀僥儉傾僀僐儞庬暿
 * @return			儈儏乕僕僢僋僼傽僀儖娗棟 傾僀僐儞庬暿
 */
TSmbMusicAPFileMgrIconType SmbMusicAPFileMgrUtility::ConvertIconType(TSmbMusicAPFileSystemComListItemIconType aFsComIconType)
	{
	TSmbMusicAPFileMgrIconType iconType = ETypeUnknown;
	
	switch (aFsComIconType)
		{
	case EItemIconTypeSongUIMRestriction:			// 嬋: UIM惂尷偮偒僨乕僞
		iconType = ETypeUimRestrictedFile;
		break;
	case EItemIconTypeSongFullDlMoRedistribute:		// 嬋: 僼儖妝嬋(嵞攝晍晄壜)
		iconType = ETypeCompleteImotionFile;
		break;
	case EItemIconTypeSongFullDlMidFlow:			// 嬋: 僼儖妝嬋(嵞攝晍晄壜丒僟僂儞儘乕僪搑拞)
		iconType = ETypeIncompleteImotionFile;
		break;
	case EItemIconTypeSongMp3:						// 嬋: MP3
		iconType = ETypeMp3File;
		break;
	case EItemIconTypeSong3gpp:						// 嬋: 3GPP
		iconType = EType3gppFile;
		break;
	case EItemIconTypeSongMsAdDistribution:			// 嬋: M.S.僆乕僨傿僆乮嵞攝晍晄壜)
		iconType = ETypeMsaFile;
		break;
//ADD-START PTX824
	case EItemIconTypeSongWMA:						// 嬋: WMA
		iconType = ETypeWMAFile;
		break;
//ADD-END PTX824		
	case EItemIconTypeListUserFolder:				// List: User僼僅儖僟
		iconType = ETypeDbxUserFolder;
		break;
	case EItemIconTypeListPlaylistFolder:			// List: Playlist僼僅儖僟
		iconType = ETypeUnknown;
		break;
	case EItemIconTypeListGroupItem:				// List: MS僌儖乕僾傾僀僥儉
		iconType = ETypeUnknown;
		break;
	case EItemIconTypeRootDataboxComFolder:			// RootList: DataBox MusicFolder
		iconType = ETypeDbxMusicFolder;
		break;
	case EItemIconTypeRootMassStorageFolder:		// RootList: MassStrage MusicFolder
		iconType = ETypeUnknown;
		break;
	case EItemIconTypeRootMSAudioFolder:			// RootList: MS Audio MusicFolder
		iconType = ETypeUnknown;
		break;
	case EItemIconTypeRootMSOtherFolder:			// RootList: MS other MusicFolder
		iconType = ETypeUnknown;
		break;
	case EItemIconTypeRootSDBindFolder:				// RootList: SD-BIND MusicFolder
		iconType = ETypeUnknown;
		break;
	case EItemIconTypeRootSDOtherFolder:			// RootList: SD other MusicFolder
		iconType = ETypeUnknown;
		break;
	case EItemIconTypeListSDBindFolder:				// List丗 SD-BIND MusicFolder
		iconType = ETypeUnknown;
		break;
	default:
		iconType = ETypeUnknown;
		break;
		}

	return iconType;
	}


#ifdef __PTX825MUSICAP__								//  825_katsu 伀

/**
 * 拝怣愝掕廔椆 愝掕PA搊榐張棟
 */
TBool SmbMusicAPFileMgrUtility::HandleSetSoundL(DCM_NAMESPACE::RPGPropAgent& aPropAgent, TSmbMusicAPFileMgrSettingParam& aSetting)
	{

	TBool	result = ETrue;
	CSmbSettingUtility::TSettingResult setRet = CSmbSettingUtility::ESettingResultNg;

	// 愝掕僨乕僞梡儐乕僥傿儕僥傿僆僽僕僃僋僩傪惗惉偡傞
 	CSmbSettingUtility* settingUtility = new (ELeave) CSmbSettingUtility();
	CleanupStack::PushL(settingUtility);

	CSmbSettingUtility::TSettingUtilContentsStr setData;

	setData.iFileType				= aSetting.iContentsKind;			/** 僼傽僀儖庬暿 */
	setData.iContensID				= aSetting.iContentsID;				/** 僐儞僥儞僣ID */
	setData.iMusicIntervalSetting	= aSetting.iIntervalSettingFlag;		/** 嬫娫巜掕愝掕僼儔僌乮弶婜抣丗EFalse傑傞偛偲愝掕乯 */
	setData.iMusicIntervalStartTime	= aSetting.iMusicIntervalStartTime;	/** 嬫娫奐巒帪娫乮儅僀僋儘昩乯 */
	setData.iMusicIntervalEndTime	= aSetting.iMusicIntervalEndTime;	/** 嬫娫廔椆帪娫乮儅僀僋儘昩乯 */

	CSmbSettingUtility::TSettingContentsKind setKind = GetSelectType( static_cast<TSmbMusicAPFileMgrCommands>(aSetting.iSelectMenuItem) );
	if(CSmbSettingUtility::ESetCKind_Wall != setKind)
		{
		// 儊儘僨傿愝掕偺曄峏娭悢傪屇傇
		TRAPD( error, setRet = settingUtility->ChangeMelodySettingL(
																	aPropAgent, 
																	setKind , 
																	KSmbMusicAPFileMgrUid, 
																	setData, 
																	ETrue));
		//僾儘僷僥傿僄乕僕僃儞僩愝掕偺僩儔僢僾偲張棟寢壥傪敾掕偡傞
		if((KErrNone != error ) || 
			(CSmbSettingUtility::ESettingResultNg == setRet))
			{
			// 僄儔乕張棟	僉儍儞僙儖張棟
			result = EFalse;
			}
		}
	else
		{
		// 僄儔乕張棟	僉儍儞僙儖張棟
		result = EFalse;
		}

	//==============================================
	//[2]惗惉偟偨僋儔僗偺僆僽僕僃僋僩傪奐曻偡傞
	CleanupStack::PopAndDestroy(settingUtility); // settingUtility
	return(result);
	}


/**
 *  巜掕偝傟偨壒愝掕庬暿傪庢摼偡傞
 *
 *  @return	張棟寢壥
 **/
CSmbSettingUtility::TSettingContentsKind SmbMusicAPFileMgrUtility::GetSelectType(TSmbMusicAPFileMgrCommands aCommandType)
	{
	CSmbSettingUtility::TSettingContentsKind ret = CSmbSettingUtility::ESetCKind_Wall;

	const TUint kTableSize = sizeof(KSelectTable) / sizeof(KSelectTable[0]);

	for (TUint i=0; i < kTableSize; ++i)
		{
		if (KSelectTable[i].iSelectType == aCommandType)
			{
			ret = KSelectTable[i].iSettingKind;
			break;
			}
		}
	return(ret);

	}

#endif													// __PTX825MUSICAP__ katsu 仾

/**
 *  C儔僀僽儔儕偺 sprintf() 憡摉丅<br>
 *  庴晅壜擻側彂幃巜椷偼 SymbianOS 偺 TBuf::AppendFormat() 傪嶲徠丅
 *
 *  @param[in]  aFmt    曄姺巜椷傪娷傓彂幃暥帤楍丅
 *  @param[in]  ...     擟堄屄悢偺曇廤懳徾堷悢丅
 *  @return 曇廤寢壥暥帤楍丅
 *  @attention  曉媝抣偼惗惉偝傟偨 heap object 偱偁傝丄強桳尃(攋婞愑擟)偼 caller 傊堏揮偡傞丅
 */
HBufC* SmbMusicAPFileMgrUtility::SPrintfLC( TRefByValue<const TDesC> aFmt, ... )
    {
    VA_LIST argv;
    VA_START( argv, aFmt );
    return VSPrintfLC( aFmt, argv );
    }


/**
 *  巜掕彂幃偵偟偨偑偭偨曇廤寢壥暥帤楍傪曉偡丅
 *
 *  C儔僀僽儔儕偺 vsprintf() 憡摉丅<br>
 *  庴晅壜擻側彂幃巜椷偼 SymbianOS 偺 TBuf::AppendFormat() 傪嶲徠丅
 *
 *  @param[in]  aFmt    曄姺巜椷傪娷傓彂幃暥帤楍丅
 *  @param[in]  aArgv   曇廤懳徾堷悢儀僋僩儖丅
 *  @return 曇廤寢壥暥帤楍丅
 *  @attention  曉媝抣偼惗惉偝傟偨 heap object 偱偁傝丄強桳尃(攋婞愑擟)偼 caller 傊堏揮偡傞丅
 */
HBufC* SmbMusicAPFileMgrUtility::VSPrintfLC( const TDesC& aFmt, VA_LIST aArgv )
    {
    TBuf<256> tmp;
    TSmbMusicAPFileMgr_Noop4DesOverflow noop;			// Overflow帪 Panic 偝偣側偄偨傔偩偗偺 null handler.    see "SmbMMScrew.h"
    tmp.AppendFormatList( aFmt, aArgv, &noop );			// TDes::FormatList() 偱偼 overflow懳嶔晄壜丅
    return tmp.AllocLC();
    }


/**
 * @param[in,out]	aDes		see TDes8Overflow::Overflow(), 杮僋儔僗偱偼巊梡偟側偄
 */
void TSmbMusicAPFileMgr_Noop4DesOverflow::Overflow(TDes8& /*aDes*/)
    {
    // nothing to do.
    }


/**
 * @param[in,out]	aDes		see TDes16Overflow::Overflow(), 杮僋儔僗偱偼巊梡偟側偄
 */
void TSmbMusicAPFileMgr_Noop4DesOverflow::Overflow(TDes16& /*aDes*/)
    {
    // nothing to do.
    }



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

⌨️ 快捷键说明

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