📄 smbmusicapfilemgractioncontroller.cpp
字号:
delete iImageFunc;
iImageFunc = CSmbMusicAPLibImageFunc::NewL();
// 僐儞僩儘乕儔張棟忬懺傪愝掕偡傞
iActionStatus = ERequestBitmapData;
// ImageFunc偵Bitmap僨乕僞庢摼傪埶棅偡傞
TInt result = iImageFunc->ConvertImage(aFileName, aSize, aBitmap, iStatus);
if (result == KErrNone)
{
SetActive();
}
else
{
Reset(); // 旕摨婜張棟奐巒慜偵栠偡
}
return result;
#else
return KErrNotSupported;
#endif
}
//TRK6799 8/25 end
//ADD-START PTX824 Lib懳墳偑昁梫
/**
* @param[in] aFileName 夋憸偺曐懚僼傽僀儖柤
* @param[in] aSize 夋憸偺嵟戝昤夋僒僀僘
* @param[in,out] aBitmap 夋憸偺Bitmap僨乕僞
* @return CSmbMusicAPLibImageFunc::ConvertImage()偺栠傝抣
* @panic EActionControllerBusy CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
* @note 杮梫媮偺姰椆偼 MObserver::NotifyRequestBitmapDataCompleteL() 偵偰捠抦偝傟傞丏
*/
TInt CSmbMusicAPFileMgrActionController::RequestBitmapDataL(const TDesC& aFileName, RArray<TSmbMusicAPLibImageSizeInfo>& aImageSizeInfo,
RPointerArray<TSmbMusicAPLibImageBitmap>& aBitmap)
{
//MOD-START PTX824
// __ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));
if(EIdle != iActionStatus)
{
return KErrServerBusy;
}
//MOD-END PTX824
delete iImageFunc;
iImageFunc = CSmbMusicAPLibImageFunc::NewL();
// 僐儞僩儘乕儔張棟忬懺傪愝掕偡傞
iActionStatus = ERequestBitmapData;
// ImageFunc偵Bitmap僨乕僞庢摼傪埶棅偡傞
TInt result = iImageFunc->ConvertImage(aFileName, aImageSizeInfo, aBitmap, iStatus);
if (result == KErrNone)
{
SetActive();
}
else
{
Reset(); // 旕摨婜張棟奐巒慜偵栠偡
}
return result;
}
//ADD-START PTX824
/**
* @param[in] aWhereabouts 奿擺応強
* @param[in,out] aSongCountInfo 搊榐審悢忣曬
* @return CSmbMusicAPFileSystemComEngine::SongCountInfoL()偺栠傝抣
* @panic EActionControllerBusy CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
* @note 杮梫媮偺姰椆偼 MObserver::NotifyRequestSongCountInfoCompleteL() 偵偰捠抦偝傟傞丏
*/
TInt CSmbMusicAPFileMgrActionController::RequestSongCountInfoL(TSmbMusicMWLibWhereabouts aWhereabouts,
TSmbMusicMWLibSongCountInfo& aSongCountInfo)
{
//MOD-START PTX824
// __ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));
if(EIdle != iActionStatus)
{
return KErrServerBusy;
}
//MOD-END PTX824
// 僐儞僩儘乕儔張棟忬懺傪愝掕偡傞
iActionStatus = ERequestSongCountInfo;
// 僄儞僕儞偵搊榐審悢庢摼傪埶棅偡傞
TInt result = iEngine->SongCountInfoL(aWhereabouts, aSongCountInfo, iStatus);
if (result == KErrNone)
{
SetActive();
}
else
{
Reset(); // 旕摨婜張棟奐巒慜偵栠偡
}
return result;
}
//MOD-START PTX824
/**
* @param[in] aMusicItem 庢摼懳徾偺僼傽僀儖
* @param[in,out] aDetailSongInfo 徻嵶忣曬
* @return CSmbMusicAPFileSystemComMusicItem::GetDetailSongInfo()偺栠傝抣
* @panic EActionControllerBusy CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
* @note 杮梫媮偺姰椆偼 MObserver::NotifyRequestDetailSongInfoCompleteL() 偵偰捠抦偝傟傞丏
*/
TInt CSmbMusicAPFileMgrActionController::RequestDetailSongInfo(CSmbMusicAPFileSystemComMusicItem* /*aMusicItem*/,
CSmbMusicMWLibDetailSongInfo& /*aDetailSongInfo*/)
{
//枹僒億乕僩API
#if 0
__ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));
// 僐儞僩儘乕儔張棟忬懺傪愝掕偡傞
iActionStatus = ERequestDetailSongInfo;
// 張棟懳徾偺僼傽僀儖傪搊榐偡傞(強桳尃偼曐帩)
iTargetItem = aMusicItem;
// 徻嵶忣曬庢摼傪埶棅偡傞
TInt result = aMusicItem->GetDetailSongInfo(aDetailSongInfo, iStatus);
if (result == KErrNone)
{
SetActive();
}
else
{
Reset(); // 旕摨婜張棟奐巒慜偵栠偡
}
return result;
#else
return KErrNotSupported;
#endif
}
//MOD-END PTX824
/**
* @param[in] aMusicItem 庢摼懳徾偺僼傽僀儖
* @param[in,out] aLimitConditionInfo 嵞惗惂尷忣曬
* @return CSmbMusicAPFileSystemComMusicItem::GetLimitCondition()偺栠傝抣
* @panic EActionControllerBusy CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
* @note 杮梫媮偺姰椆偼 MObserver::NotifyRequestLimitConditionInfoCompleteL() 偵偰捠抦偝傟傞丏
*/
TInt CSmbMusicAPFileMgrActionController::RequestLimitConditionInfo(CSmbMusicAPFileSystemComMusicItem* aMusicItem,
TSmbMusicMWLibLimitConditionInfo& aLimitConditionInfo)
{
__ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));
if (aMusicItem == NULL)
{
return KErrArgument;
}
// 僐儞僩儘乕儔張棟忬懺傪愝掕偡傞
iActionStatus = ERequestLimitConditionInfo;
// 張棟懳徾偺僼傽僀儖傪搊榐偡傞
iTargetItem = aMusicItem;
// 嵞惗惂尷忣曬庢摼傪埶棅偡傞
TInt result = aMusicItem->GetLimitCondition(aLimitConditionInfo, iStatus);
if (result == KErrNone)
{
SetActive();
}
else
{
Reset(); // 旕摨婜張棟奐巒慜偵栠偡
}
return result;
}
//ADD-START PTX824
/**
* @param[in] aMusicItem 庢摼懳徾偺僼傽僀儖
* @param[in,out] aSongLimit 嵞惗惂尷忣曬
* @return CSmbMusicAPFileSystemComMusicItem::GetLimitInfo()偺栠傝抣
* @panic EActionControllerBusy CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
* @note 杮梫媮偺姰椆偼 MObserver::NotifyRequestLimitInfoCompleteL() 偵偰捠抦偝傟傞丏
*/
TInt CSmbMusicAPFileMgrActionController::RequestLimitInfomation(CSmbMusicAPFileSystemComMusicItem* aMusicItem,
TSmbMusicMWLibSongLimit& aSongLimit)
{
OUTPUT_FUNC;
//MOD-START PTX824
// __ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));
if(EIdle != iActionStatus)
{
delete aMusicItem;
aMusicItem = NULL;
return KErrServerBusy;
}
//MOD-END PTX824
if (aMusicItem == NULL)
{
return KErrArgument;
}
// 僐儞僩儘乕儔張棟忬懺傪愝掕偡傞
iActionStatus = ERequestLimitInfo;
// 張棟懳徾偺僼傽僀儖傪搊榐偡傞
iTargetItem = aMusicItem;
// 嵞惗惂尷忣曬庢摼傪埶棅偡傞
TInt result = aMusicItem->GetLimitInfo(aSongLimit, iStatus);
if (result == KErrNone)
{
SetActive();
}
else
{
Reset(); // 旕摨婜張棟奐巒慜偵栠偡
}
return result;
}
/**
* @param[in] aFormatType 僼僅乕儅僢僩庬暿
* @return StartActionL()偺栠傝抣
* @panic EActionControllerBusy CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
* @note 杮梫媮偺姰椆偼 MObserver::NotifyRequestFormatMusicDataCompleteL() 偵偰捠抦偝傟傞丏
*/
TInt CSmbMusicAPFileMgrActionController::RequestFormatMusicDataL(TSmbMusicAPFileSystemComFormatType aFormatType)
{
__ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EInvalidStatus));
// 僐儞僩儘乕儔張棟忬懺傪愝掕偡傞
iActionStatus = ERequestFormatMusicData;
// 傾僋僔儑儞偺姰椆傪NotifyRequestDeleteOneFileCompleteL()偱捠抦偡傞
iNotifyActionCompleteL = &MObserver::NotifyRequestFormatMusicDataCompleteL;
//張棟審悢傪1審偲偡傞乮恑捇僟僀傾儘僌偱巊梡乯
iTotalItemCount = 1;
iProcessedItemCount = 0;
iProcessFailedItemCount = 0;
//CQ-TRK15750 ADD-START PTX824
iSettingFaileItemCount = 0;
//CQ-TRK15750 ADD-END PTX824
// 僼僅乕儅僢僩傪埶棅偡傞
TInt result = iEngine->FormatMusicData(aFormatType, iStatus);
if (result == KErrNone)
{
SetActive();
iObserver->RequestProgressDialogL(R_PROGRESS_DIALOG_MP04P001_FORMAT, ETrue);
UpdateProgress();
iObserver->StartUpdatingProgress(50000000, KSmbMusicAPFileMgrBpsFormatMusicData);
}
else // 摨婜張棟偵幐攕偟偨応崌
{
iObserver->RequestWarningDialogL(R_WARNING_DIALOG_MP04P015);
}
return result;
}
//ADD-END PTX824
#ifdef __PTX825MUSICAP__ // 825_katsu 伀
/**
* @param[in] aMusicItem 庢摼懳徾偺僼傽僀儖
* @param[in,out] aRingingInfo 柭摦忣曬
* @return CSmbMusicAPFileSystemComMusicItem::GetImageInfo()偺栠傝抣
* @panic EActionControllerBusy CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
*/
TInt CSmbMusicAPFileMgrActionController::RequestRingingInfo(CSmbMusicAPFileSystemComMusicItem& aMusicItem,
CSmbMusicMWLibRingingInfo& aRingingInfo)
{
__ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));
// 僐儞僩儘乕儔張棟忬懺傪愝掕偡傞
iActionStatus = ERequestRingingInfo;
// 張棟懳徾偺僼傽僀儖傪搊榐偡傞(強桳尃偼曐帩偟側偄)
iMusicItemOwnedExternally = &aMusicItem;
// RunL偺幚懺傪RunRequestImageInfoL偵偡傞
iRunImplL = &RunRequestRingingInfoL;
// 柭摦忣曬庢摼傪埶棅偡傞
TInt result = aMusicItem.GetRingingInfo(aRingingInfo, iStatus);
if (result == KErrNone)
{
SetActive();
}
else
{
//儘僌
OUTPUT_LOG1_ERROR("ERROR::aMusicItem.GetRingingInfo():%d", result);
Reset(); // 旕摨婜張棟奐巒慜偵栠偡
}
return result;
}
/**
* @param[in] aTargetFile 庢摼懳徾偺僼傽僀儖
* @param[in,out] aLimitConditionInfo 嵞惗惂尷忬懺
* @retval KErrNone 惓忢廔椆
* @retval KErrNotReady 嬻偺傾僀僥儉
* @panic EActionControllerBusy CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -