?? smbmusicapfilemgrutility.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 + -