smbmusicapmainplayerfilterprocessdeleteone.cpp

来自「symbian」· C++ 代码 · 共 629 行 · 第 1/2 页

CPP
629
字号

//-------------------------------------------------------------------- 僟僀傾儘僌昞帵拞 --------------------------------------------------------------------
	case EFilterProcessDeleteOneStateShowDialog:
		{
		if(EFilterProcessDeleteOneEventDeleteExecute == iEvent)
			{
//ADD-S> 2006.10.31 TRK#12238
			if(ESmbMusicAPMainPlayerDelSongStd == iKind)
				{
//ADD-E> 2006.10.31 TRK#12238
				TInt result = iSyncServer.PrepareGetContentsID(iListHandle, iIndex, EOwnerType_Filter, iRequestId, *this);

				if(KErrNone == result)
					{
					iState	= EFilterProcessDeleteOneStateGetContentsId;
					}
				else
					{
					TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDeleteOne | 52;
					_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDeleteOne::DoSequence() PrepareGetContentsID() Error :%d");
					SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, result);

					iResult	= result;
					iState	= EFilterProcessDeleteOneStateErr;
					NextState();
					}
//ADD-S> 2006.10.31 TRK#12238
				}
			else
				{
				// 嵞惗夞悢丄婜尷丄婜娫 惂尷僆乕僶乕偺応崌偼丄僼傽僀儖柤妋擣億僢僾傾僢僾傪昞帵偟側偄
				iState	= EFilterProcessDeleteOneStateWaitExecute;
				iEvent	= EFilterProcessDeleteOneEventDeleteExecute;
				NextState();
				}
//ADD-E> 2006.10.31 TRK#12238
			}
		else if(EFilterProcessDeleteOneEventDeleteCancel == iEvent)
			{
			iResult	= KErrCancel;
			iState	= EFilterProcessDeleteOneStateErr;
			NextState();
			}
		else
			{
			TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDeleteOne | 53;
			_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDeleteOne::DoSequence() Unmatch Event iState:%d iEvent:%d");
			SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState, iEvent);
			}
		}
		break;

//-------------------------------------------------------------------- 僐儞僥儞僣ID庢摼拞 --------------------------------------------------------------------
	case EFilterProcessDeleteOneStateGetContentsId:
		{
		
		switch(iEvent)
			{
		
		case EFilterProcessDeleteOneEventSyncServerContentsIdComplete:
			{

			if(ESmbMusicAPMainPlayerDelSongStd == iKind)
				{
				TBool settinginfo = SmbMusicAPLibIsSettingFunc::IsSettingContentsInfoL(iResultContentsId);
				if(settinginfo)//懠婡擻偵愝掕偝傟偰偄傞応崌
					{
					//懠婡擻偵愝掕偝傟偰偄傞応崌偼偦偺巪傪妋擣偡傞僟僀傾儘僌傪昞帵
					iObserver.HandleDialogCommandL( EShowSelectionModelessDialog, 
													R_DL_MUSIC_MAIN_FLT_OTHERFUNC_DELETESONG_SELECT);
					}
				else
					{
					iObserver.HandleDialogCommandL( EShowSelectionModelessDialog, 
													R_DL_MUSIC_MAIN_FLT_DELETESONG_SELECT,
													&iText);
					}
				iState	= EFilterProcessDeleteOneStateWaitExecute;
				}
			else
				{
				// 嵞惗夞悢丄婜尷丄婜娫 惂尷僆乕僶乕偺応崌偼丄僼傽僀儖柤妋擣億僢僾傾僢僾傪昞帵偟側偄
				iState	= EFilterProcessDeleteOneStateWaitExecute;
				iEvent	= EFilterProcessDeleteOneEventDeleteExecute;
				NextState();
				}
			}
			break;
			
		case EFilterProcessDeleteOneEventSyncServerContentsIdCancel:
			{
			iResult	= KErrCancel;
			iState	= EFilterProcessDeleteOneStateErr;
			NextState();
			}
			break;

		case EFilterProcessDeleteOneEventSyncServerContentsIdErr:
//MOD-S 2006.09.05 SDNA 壀嶳 [i-keeper(TRK):8000] 
			{
			iObserver.HandleDialogCommandL( EShowSelectionModelessDialog, 
											R_DL_MUSIC_MAIN_FLT_DELETESONG_SELECT,
											&iText);
			iState	= EFilterProcessDeleteOneStateWaitExecute;
			}
//MOD-E 2006.09.05 SDNA 壀嶳 [i-keeper(TRK):8000] 
			break;

		default:
			{
			TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDeleteOne | 54;
			_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDeleteOne::DoSequence() Unmatch Event iState:%d iEvent:%d");
			SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState, iEvent);
			}
			break;
			}
		}
		break;

//-------------------------------------------------------------------- 幚峴巜帵懸偪 --------------------------------------------------------------------
	case EFilterProcessDeleteOneStateWaitExecute:
		{
		switch(iEvent)
			{
		case EFilterProcessDeleteOneEventDeleteExecute:
			{
			iObserver.HandleDialogCommandL( EShowProgressModelessDialog, 
											R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_SINGULAR);

			iIndexArray.Reset();
			TInt result = iIndexArray.Append(iIndex);
			if(KErrNone != result)
				{
				TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDeleteOne | 55;
				_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDeleteOne::DoSequence() Append Err %d");
				SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHighest, KLogFmt, result);
				PANIC(9100002);
				}

			result = iSyncServer.DeleteItems(EFalse, iListHandle, &iIndexArray, EOwnerType_Filter, iRequestId, *this);
			if(KErrNone == result)
				{
				iState	= EFilterProcessDeleteOneStateDeleteItem;
				}
			else
				{
				TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDeleteOne | 56;
				_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDeleteOne::DoSequence() DeleteItems() Error :%d");
				SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, result);

				//>> 2006.09.13 偦偺懠
				iObserver.HandleDialogCommandL( ECloseModelessDialog, 
												R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_SINGULAR);
				iResult	= result;
				iState	= EFilterProcessDeleteOneStateErr;
				NextState();
				}
			}
			break;
		case EFilterProcessDeleteOneEventDeleteCancel:
			{
			iResult	= KErrCancel;
			iState	= EFilterProcessDeleteOneStateErr;
			NextState();
			}
			break;
		default:
			{
			TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDeleteOne | 57;
			_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDeleteOne::DoSequence() Unmatch Event iState:%d iEvent:%d");
			SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState, iEvent);
			}
			break;
			}
		}
		break;

//-------------------------------------------------------------------- 傾僀僥儉嶍彍拞 --------------------------------------------------------------------
	case EFilterProcessDeleteOneStateDeleteItem:
		{
		
		switch(iEvent)
			{
		case EFilterProcessDeleteOneEventSyncServerDeleteComplete:
			{
			iObserver.HandleDialogCommandL( ECloseModelessDialog, 
											R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_SINGULAR);
			iObserver.HandleDialogCommandL( EShowConfirmModelessDialog, 
											R_DL_MUSIC_MAIN_FLT_DELETE_CONFIRM);//嶍彍屻妋擣僟僀傾儘僌傪昞帵
			iState	= EFilterProcessDeleteOneStateDeleteComplete;
			}
			break;
			
		case EFilterProcessDeleteOneEventSyncServerDeleteCancel:
			{
			//>> 2006.09.13 憖嶌拞巭懳墳
			iObserver.HandleDialogCommandL( ECloseModelessDialog, 
											R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_SINGULAR);
			iObserver.HandleDialogCommandL( EShowWarningModelessDialog, 
											R_DL_MUSIC_MAIN_FLT_DELETE_CANCEL_CONFIRM);//憖嶌拞巭僟僀傾儘僌傪昞帵
			//<<
			//>> 2006.10.18 TRK#11810
			iResult	= KErrCancel;
			iState	= EFilterProcessDeleteOneStateDeleteCancel;
			//<<
			}
			break;
		case EFilterProcessDeleteOneEventSyncServerDeleteErr:
			{
			//>> 2006.09.13 TRK#8902 嶍彍僄儔乕懳墳
			iObserver.HandleDialogCommandL( ECloseModelessDialog, 
											R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_SINGULAR);
			iObserver.HandleDialogCommandL( EShowWarningModelessDialog, 
											R_DL_MUSIC_MAIN_FLT_DELETE_FAILED_WARNING);//嶍彍晄壜僟僀傾儘僌傪昞帵
			//<<
			//>> 2006.10.18 TRK#11810
			iState	= EFilterProcessDeleteOneStateDeleteCancel;
			//<<
			}
			break;

		default:
			{
			//>> 2006.09.13 偦偺懠
			iObserver.HandleDialogCommandL( ECloseModelessDialog, 
											R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_SINGULAR);
			//<<
			TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDeleteOne | 58;
			_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDeleteOne::DoSequence() Unmatch Event iState:%d iEvent:%d");
			SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState, iEvent);
			}
			break;
			}
		}
		break;

//-------------------------------------------------------------------- 傾僀僥儉嶍彍姰椆 --------------------------------------------------------------------
	case EFilterProcessDeleteOneStateDeleteComplete:
		{
		//2006.10.01 TRK#7270
		iObserver.HandleDialogCommandL( ECloseModelessDialog, 
										R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_SINGULAR);
		iResult = KErrNone;
		iState	= EFilterProcessDeleteOneStateEnd;
		NextState();
		}
		break;


//-------------------------------------------------------------------- 傾僀僥儉嶍彍拞巭 --------------------------------------------------------------------
	//>> 2006.10.18 TRK#11810
	case EFilterProcessDeleteOneStateDeleteCancel:
		{
		//2006.10.01 TRK#7270
		iObserver.HandleDialogCommandL( ECloseModelessDialog, 
										R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_SINGULAR);
		iState	= EFilterProcessDeleteOneStateErr;
		NextState();
		}
		break;
	//<<
//------------------------------------------------------------------------- 偦偺懠 -------------------------------------------------------------------------
	case EFilterProcessDeleteOneStateIdle:					// 枹張棟
	case EFilterProcessDeleteOneStateEnd:					// 張棟廔椆
	case EFilterProcessDeleteOneStateErr:					// 僄儔乕廔椆
	default:
		{
		TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDeleteOne | 59;
		_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDeleteOne::DoSequence() Invaild State iState:%d iEvent:%d");
		SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelHigh, KLogFmt, iState, iEvent);
		//2006.10.01 TRK#7270
		iObserver.HandleDialogCommandL( ECloseModelessDialog, 
										R_DL_MUSIC_MAIN_FLT_PROGRESS_MP04P001_SINGULAR);
		}
		break;
		}
	}

/**
 * 偡傋偰偺僐儅儞僪幚峴偑廔傢偭偨偐偳偆偐妋擣偡傞
 * @param	側偟
 * @return	廔椆敾掕(ETrue:姰椆嵪 EFalse丗枹姰椆)
 */
TBool CSmbMusicAPMainPlayerFilterProcessDeleteOne::IsSequenceFinished()
	{
#ifdef __DEBUG_LOG_MAINPLAYER__
	TInt logCode = CLASS_CODE_CSmbMusicAPMainPlayerFilterProcessDeleteOne | 80;
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerFilterProcessDeleteOne::IsSequenceFinished() iState:%d");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState);
#endif

	TBool finish = EFalse;

	switch(iState)
		{
	case EFilterProcessDeleteOneStateEnd:
	case EFilterProcessDeleteOneStateErr:
		finish = ETrue;
		break;

	default:
		break;
		}
	
	return finish;
	}


SEMCJ_NAMESPACE_END

// end of SmbMusicAPMainPlayerFilterProcessDeleteOne.cpp
/* Copyright (C) 2005-2007 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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