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

📄 smbmusicapfilemgractioncontroller.cpp

📁 索爱手机代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	// 嶍彍懳徾偺僼僅儖僟傪搊榐偡傞
	iTargetItemArray = aTargetFolders;

	// 儕僗僩儃僢僋僗儌僨儖傪愝掕偡傞
	iListBoxModel = aListBoxModel;

	//
	iTotalItemCount = iTargetItemArray->Count();
	iProcessedItemCount = 0;
	iProcessFailedItemCount = 0;
//CQ-TRK15750 ADD-START PTX824
	iSettingFaileItemCount = 0;
//CQ-TRK15750 ADD-END PTX824
	
	//
	return StartActionL();
	}


/**
 * @param[in]		aTargetFolders			嶍彍懳徾偺僼僅儖僟
 * @param[in]		aListBoxModel			嶍彍懳徾偺僼僅儖僟偑偁傞儕僗僩儃僢僋僗儌僨儖
 * @return			StartActionL()偺栠傝抣
 * @panic			EActionControllerBusy	CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
 * @note			杮儊僜僢僪傪幚峴偡傞偙偲偱丆aTargetFolders 偺娗棟偼傾僋僔儑儞僐儞僩儘乕儔偵堏忳偝傟傞丏
 *                  偦偺偨傔丆屇傃弌偟尦偺僨僗僩儔僋僞摍偱 aTargetFolders 傪delete偟側偄偙偲丏
 * @note			杮梫媮偺姰椆偼 MObserver::NotifyRequestDeleteAllFoldersCompleteL() 偵偰捠抦偝傟傞丏
 */
TInt CSmbMusicAPFileMgrActionController::RequestDeleteAllFoldersL(CSmbMusicAPFileSystemComMusicItem* aTargetFolders,
                                                                  MSmbMusicAPFileSystemComListBoxModel* aListBoxModel)
	{
	__ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));

	// 僐儞僩儘乕儔張棟忬懺傪愝掕偡傞
	iActionStatus = EDeleteAllFolders;

	// 傾僋僔儑儞偺姰椆傪NotifyRequestDeleteAllFoldersCompleteL()偱捠抦偡傞
	iNotifyActionCompleteL = &MObserver::NotifyRequestDeleteAllFoldersCompleteL;

	// 嶍彍懳徾偺僼僅儖僟傪搊榐偡傞
	iTargetItem = aTargetFolders;

	// 儕僗僩儃僢僋僗儌僨儖傪愝掕偡傞
	iListBoxModel = aListBoxModel;

	// 
	iTargetItem->GetListItemCount(iTotalItemCount);
	iProcessedItemCount = 0;
	iProcessFailedItemCount = 0;
//CQ-TRK15750 ADD-START PTX824
	iSettingFaileItemCount = 0;
//CQ-TRK15750 ADD-END PTX824

	//
	return StartActionL();
	}


/**
 * @param[in]		aFolderName				怴婯僼僅儖僟柤
 * @param[in]		aParentFolder			恊僼僅儖僟
 * @param[in,out]	aNewFolder				怴婯僼僅儖僟
 * @return			CSmbMusicAPFileSystemComEngine::CreateFolderL()偺栠傝抣
 * @panic			EActionControllerBusy	CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
 * @note			杮梫媮偺姰椆偼 MObserver::NotifyRequestCreateFolderCompleteL() 偵偰捠抦偝傟傞丏
 */
TInt CSmbMusicAPFileMgrActionController::RequestCreateFolderL(const TDesC& aFolderName,
                                                              CSmbMusicAPFileSystemComMusicItem* aParentFolder,
                                                              CSmbMusicAPFileSystemComMusicItem& aNewFolder)
	{
	__ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));

	// 僐儞僩儘乕儔張棟忬懺傪愝掕偡傞
	iActionStatus = ECreateFolder;

	// 恊僼僅儖僟傪搊榐偡傞
	iTargetItem = aParentFolder;

	/*
	 * 僄儞僕儞偵僼僅儖僟怴婯嶌惉傪埶棅偡傞丏
	 * 旕摨婜墳摎屻丆aNewFolder偵偼怴婯嶌惉偟偨僼僅儖僟偑奿擺偝傟偰偄傞丏
	 */
	TInt result = iEngine->CreateFolderL(aFolderName, *aParentFolder, aNewFolder, iStatus);
	if (result == KErrNone)
		{
		SetActive();
		}
	else
		{
		Reset();		// 旕摨婜張棟奐巒慜偵栠偡
		}
	
	return result;
	}


/**
 * @param[in]		aFolderName				曄峏偡傞僼僅儖僟柤
 * @param[in,out]	aTargetFolder			曄峏懳徾偺僼僅儖僟
 * @return			CSmbMusicAPFileSystemComEngine::RenameFolderL()偺栠傝抣
 * @panic			EActionControllerBusy	CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
 * @note			杮梫媮偺姰椆偼 MObserver::NotifyRequestRenameFolderCompleteL() 偵偰捠抦偝傟傞丏
 */
TInt CSmbMusicAPFileMgrActionController::RequestRenameFolderL(const TDesC& aFolderName, CSmbMusicAPFileSystemComMusicItem& aTargetFolder)
	{
//MOD-START PTX824
//	__ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));
	if(EIdle != iActionStatus)
		{
		return KErrServerBusy;
		}
//MOD-END PTX824

	// 僐儞僩儘乕儔張棟忬懺傪愝掕偡傞
	iActionStatus = ERenameFolder;

	// 僄儞僕儞偵僼僅儖僟柤曄峏傪埶棅偡傞
	TInt result = iEngine->RenameFolderL(const_cast<TDesC&>(aFolderName), aTargetFolder, iStatus);
	if (result == KErrNone)
		{
		SetActive();
		}
	else
		{
		Reset();		// 旕摨婜張棟奐巒慜偵栠偡
		}

	return result;
	}


/**
 * @param[in]		aMusicItem				庢摼懳徾偺僼傽僀儖
 * @param[in,out]	aImageCount				夋憸枃悢
 * @return			CSmbMusicAPFileSystemComMusicItem::GetImageCount()偺栠傝抣
 * @panic			EActionControllerBusy	CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
 * @note			杮梫媮偺姰椆偼 MObserver::NotifyRequestImageCountCompleteL() 偵偰捠抦偝傟傞丏
 */
TInt CSmbMusicAPFileMgrActionController::RequestImageCount(CSmbMusicAPFileSystemComMusicItem* aMusicItem,
                                                           TSmbMusicAPFileSystemComImageCount& aImageCount)
	{
//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 = ERequestImageCount;

	// 張棟懳徾偺僼傽僀儖傪搊榐偡傞
	iTargetItem = aMusicItem;

	// 夋憸枃悢庢摼傪埶棅偡傞
	TInt result = aMusicItem->GetImageCount(aImageCount, iStatus);
	if (result == KErrNone)
		{
		SetActive();
		}
	else
		{
		Reset();		// 旕摨婜張棟奐巒慜偵栠偡
		}

	return result;
	}


/**
 * @param[in]		aMusicItem				庢摼懳徾偺僼傽僀儖
 * @param[in,out]	aImageInfo				夋憸忣曬
 * @return			CSmbMusicAPFileSystemComMusicItem::GetImageInfo()偺栠傝抣
 * @panic			EActionControllerBusy	CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
 * @note			杮梫媮偺姰椆偼 MObserver::NotifyRequestImageInfoCompleteL() 偵偰捠抦偝傟傞丏
 */
TInt CSmbMusicAPFileMgrActionController::RequestImageInfo(CSmbMusicAPFileSystemComMusicItem& aMusicItem,
                                                          TSmbMusicAPLibImageInfo& aImageInfo)
	{
//MOD-START PTX824
//	__ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));
	if(EIdle != iActionStatus)
		{
		return KErrServerBusy;
		}
//MOD-END PTX824

	// 僐儞僩儘乕儔張棟忬懺傪愝掕偡傞
	iActionStatus = ERequestImageInfo;

	// 張棟懳徾偺僼傽僀儖傪搊榐偡傞(強桳尃偼曐帩偟側偄)
	iMusicItemOwnedExternally = &aMusicItem;

	// 夋憸忣曬庢摼傪埶棅偡傞
	TInt result = aMusicItem.GetImageInfo(aImageInfo, iStatus);
	if (result == KErrNone)
		{
		SetActive();
		}
	else
		{
		Reset();		// 旕摨婜張棟奐巒慜偵栠偡
		}

	return result;
	}

//ADD-START PTX824	
/**
 * @param[in]		aMusicItem				庢摼懳徾偺僼傽僀儖
 * @param[in]		aImageType				夋憸庬暿
 * @param[in,out]	aImageInfo				夋憸忣曬
 * @return			CSmbMusicAPFileSystemComMusicItem::GetImageInfo()偺栠傝抣
 * @panic			EActionControllerBusy	CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
 * @note			杮梫媮偺姰椆偼 MObserver::NotifyRequestImageInfoCompleteL() 偵偰捠抦偝傟傞丏
 */
TInt CSmbMusicAPFileMgrActionController::RequestImageTypeInfo(CSmbMusicAPFileSystemComMusicItem& aMusicItem, TSmbMusicAPLibImageType aImageType, TSmbMusicAPLibImageTypeInfo& aImageTypeInfo)
	{
	OUTPUT_FUNC;
//MOD-START PTX824
//	__ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));
	if(EIdle != iActionStatus)
		{
		return KErrServerBusy;
		}
//MOD-END PTX824

	// 僐儞僩儘乕儔張棟忬懺傪愝掕偡傞
	iActionStatus = ERequestImageTypeInfo;

	// 張棟懳徾偺僼傽僀儖傪搊榐偡傞(強桳尃偼曐帩偟側偄)
	iMusicItemOwnedExternally = &aMusicItem;

	// 夋憸忣曬庢摼傪埶棅偡傞
	TInt result = aMusicItem.GetImageTypeInfo(aImageType, aImageTypeInfo, iStatus);
	if (result == KErrNone)
		{
		SetActive();
		}
	else
		{
		Reset();		// 旕摨婜張棟奐巒慜偵栠偡
		}

	return result;
	}
//ADD-END PTX824

/**
 * @param[in]		aMusicItem				庢摼懳徾偺僼傽僀儖
 * @param[in]		aImageType				夋憸忣曬
 * @param[in]		aIndex					夋憸偺僀儞僨僢僋僗斣崋(奐巒:1)
 * @param[in]		aFileName				夋憸偺曐懚僼傽僀儖柤
 * @return			CSmbMusicAPFileSystemComMusicItem::GetImage()偺栠傝抣
 * @panic			EActionControllerBusy	CSmbMusicAPFileMgrActionController::iActionStatus偑 CSmbMusicAPFileMgrActionController::EIdle埲奜偺応崌
 * @note			杮梫媮偺姰椆偼 MObserver::NotifyRequestImageFileCompleteL() 偵偰捠抦偝傟傞丏
 */
TInt CSmbMusicAPFileMgrActionController::RequestImageFile(CSmbMusicAPFileSystemComMusicItem& aMusicItem,
	                                                      TSmbMusicAPLibImageType aImageType, TInt aIndex, const TDesC& aFileName)
	{
//MOD-START PTX824
//	__ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));
	if(EIdle != iActionStatus)
		{
		return KErrServerBusy;
		}
//MOD-END PTX824

	// 僐儞僩儘乕儔張棟忬懺傪愝掕偡傞
	iActionStatus = ERequestImageFile;

	// 張棟懳徾偺僼傽僀儖傪搊榐偡傞(強桳尃偼曐帩偟側偄)
	iMusicItemOwnedExternally = &aMusicItem;

	// 夋憸忣曬庢摼傪埶棅偡傞
	TInt result = aMusicItem.GetImage(aImageType, aIndex, const_cast<TDesC&>(aFileName), iStatus);
	if (result == KErrNone)
		{
		SetActive();
		}
	else
		{
		Reset();		// 旕摨婜張棟奐巒慜偵栠偡
		}

	return result;
	}


//TRK6799 8/25 start
/**
 * @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<TSize>& /*aSize*/,
                                                            RPointerArray<TSmbMusicAPLibImageBitmap>& /*aBitmap*/)
	{
//枹僒億乕僩API
#if 0
	__ASSERT_ALWAYS(iActionStatus == EIdle, PANIC(EActionControllerBusy));

⌨️ 快捷键说明

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