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

📄 smbmusicapmainplayerfilterprocess.h

📁 symbian
💻 H
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//  SmbMusicAPMainPlayerFilterProcess.h
//
// Description: 
//  SmbMusicAPMainPlayerFilterProcess class header.
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅          |曄峏幰     |撪梕
//--------------+-----------+----------------------------------------------
//2006/08/??	|SEMCJ嶳壀	|怴婯嶌惉
//2006/08/11	|SDNA壀嶳	|張棟傪娙棯壔

#ifndef __SMBMUSICAPMAINPLAYERFilterProcess_H__
#define __SMBMUSICAPMAINPLAYERFilterProcess_H__

#ifndef __SMBCOMMONDEF_H__
#include <SmbCommonDef.h>
#endif

#ifndef __E32BASE_H__
#include <e32base.h>
#endif

#include <SkonCombinedText.h>

SEMCJ_NAMESPACE_BEGIN

enum TSmbMusicAPMainPlayerDialogActionType
	{
	EShowConfirmModelessDialog = 0,
	EShowWarningModelessDialog,
	EShowSelectionModelessDialog,
	EShowProgressModelessDialog,
	EShowProgressModelessDialogEx,	//傒側偟恑捇僟僀傾儘僌
	ECloseModelessDialog,
	};

class CSkonCombinedText;
class CSmbMusicAPMainPlayerFilterProcess;



class MSmbMusicAPMainPlayerFilterProcessObserver
	{
public:

	/**
	 * 僾儘僙僗姰椆捠抦
	 * @param[in] aResult	張棟寢壥
	 * 						 KErrNone				:惓忢廔椆
	 * 						 KErrPermissionDenied	:傾僋僙僗尃柍偟
	 * 						 KErrCancel				:僉儍儞僙儖
	 * @param[in] aProcess	奩摉偺僾儘僙僗偺嶲徠
	 */
	virtual void ProcessComplete(TInt aResult, CSmbMusicAPMainPlayerFilterProcess& aProcess) = 0;

	/**
	 * 僟僀傾儘僌昞帵僐儅儞僪
	 *
	 * @param aType       [in] 僟僀傾儘僌僞僀僾
	 * @param aResId      [in] 儕僜乕僗ID
	 */
	virtual void HandleDialogCommandL(TSmbMusicAPMainPlayerDialogActionType aType,
									  TInt									aResId,
									  const									TDesC* aText = NULL,
									  CSkonCombinedText*					aCombinedText = NULL) = 0;

	/**
	 * 僾儘僙僗宱夁捠抦
	 * @param[in] aResult	張棟寢壥
	 * 						 KErrNone				:惓忢廔椆
	 * 						 KErrPermissionDenied	:傾僋僙僗尃柍偟
	 * 						 KErrCancel				:僉儍儞僙儖
	 * @param[in] aProcess	奩摉偺僾儘僙僗偺嶲徠
	 */
	virtual void ProcessProgress(TInt aResult, CSmbMusicAPMainPlayerFilterProcess& aProcess) = 0;

	};



class CSmbMusicAPMainPlayerFilterProcess :	public CActive
	{
public:
	enum TSmbMusicAPMainPlayerFilterProcessType
		{
		EProcessTypeUnknown = 0,

		EProcessTypeMoveView,

		EProcessTypeGetListFromSearchTop,
		EProcessTypeGetListFromSearchCurrentList,
		EProcessTypeGetListItems,

		EProcessTypeGetThumbnail,
		EProcessTypeMakeThumbnail,

		EProcessTypeDeleteOne,
		EProcessTypeCreatePlayList,
		EProcessTypeEditPlaylistTitle,
		EProcessTypeDuplicatePlayList,		// Add PTX-824懳墳丂暯壀
		EProcessTypeRegisterToPlaylist,
		EProcessTypeRemoveItems,
		EProcessTypeDeleteItems,
		EProcessTypeCommitOrderItems
		};

public:
	/**
	 僐儞僗僩儔僋僞
	 * @param[in]	aObserver				僆僽僓乕僶偺億僀儞僞
	 * @param[in]	aTargetModel			儌僨儖偺嶲徠
	 * @param[in]	aSyncServerController	摨婜僒乕僶惂屼偺嶲徠
	 * @return	側偟
	 */
	CSmbMusicAPMainPlayerFilterProcess( MSmbMusicAPMainPlayerFilterProcessObserver& aObserver);

	/**
	 僨僗僩儔僋僞
	 * @param	側偟
	 * @return	側偟
	 */
	virtual ~CSmbMusicAPMainPlayerFilterProcess();

	/**
	 傾僋僥傿僽僆僽僕僃僋僩偺RunL娭悢傪幚憰偡傞
	 * @param	側偟
	 * @return	側偟
	 */
	void RunL();

	/**
	 傾僋僥傿僽僆僽僕僃僋僩偺僉儍儞僙儖張棟傪峴偆
	 * @param	側偟
	 * @return	側偟
	 */
	void DoCancel();

	/**
 	 * 僾儘僙僗幚峴
 	 * @return	側偟
 	 */
	void StartProcess();

	/**
 	 * 僾儘僙僗幚峴
 	 * @param [in,out]	aStatus	旕摨婜墳摎梡偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗	
 	 * @return	側偟
 	 */
	void StartProcess(TRequestStatus* aStatus);

	/**
 	 * 僾儘僙僗偺僉儍儞僙儖
	 * @return	僉儍儞僙儖偺惉斲(ETrue:僉儍儞僙儖張棟幚巤 EFalse:僉儍儞僙儖枹懳墳)
 	 */
	TBool CancelProcess();

	/**
 	 * 僾儘僙僗幚峴拞偐偳偆偐偺庢摼
 	 * @param	側偟
 	 * @return	幚峴忬懺乮ETrue:幚峴拞丄EFalse:枹幚峴乯
 	 */
	TBool InService();
	
	/**
 	 * 僾儘僙僗庬暿庢摼
 	 * @param	側偟
 	 * @return	僾儘僙僗庬暿
 	 */
	virtual TSmbMusicAPMainPlayerFilterProcessType GetProcessType() = 0;

	/**
 	 * 梫媮尦忣曬庢摼
 	 * @param	側偟
 	 * @return	梫媮尦忣曬
 	 */
	TInt GetRequestOwnerInfo(){return iRequestOwnerInfo;};
	
	/**
 	 * 梫媮尦忣曬愝掕
	 * @param[in]	aObserver	梫媮尦忣曬
 	 * @return					側偟
 	 */
	void SetRequestOwnerInfo(TInt aRequestOwnerInfo){iRequestOwnerInfo = aRequestOwnerInfo;};

private:

	/**
	 * 僐儅儞僪張棟傪幚峴偡傞
	 * @param	側偟
	 * @return	側偟
	 */
	virtual void DoSequence() = 0;

	/**
	 * 僐儅儞僪張棟傪僉儍儞僙儖偡傞
	 * @param	側偟
	 * @return	僉儍儞僙儖偺惉斲(ETrue:僉儍儞僙儖張棟幚巤 EFalse:僉儍儞僙儖枹懳墳)
	 */
	virtual TBool CancelSequence(){return EFalse;};

	/**
	 * 偡傋偰偺僐儅儞僪幚峴偑廔傢偭偨偐偳偆偐妋擣偡傞
	 * @param	aCurrentSequnce	尰嵼偺僔乕働儞僗俬俢
	 * @return	側偟
	 */
	virtual TBool IsSequenceFinished() = 0;

	/**
	 * 偡傋偰偺僐儅儞僪幚峴傪姰椆偡傞
	 * @param	側偟
	 * @return	側偟
	 */
	void FinishSequence();


protected:

	/**
	 * 撪晹忬懺傪儕僙僢僩偡傞
	 * @param	側偟
	 * @return	側偟
	 */
	void Reset();

	/**
	 * 傾僋僥傿僽僆僽僕僃僋僩偺忬懺慗堏傪峴偆
	 * @param	側偟
	 * @return	側偟
	 */
	void NextState();

	/**
	 傾僋僥傿僽僆僽僕僃僋僩傪姰椆偟偰傾僋僥傿僽偵偡傞
	 * @param	側偟
	 * @return	側偟
	 */
	void CompleteSelf();



protected:
	// 僆僽僓乕僶乮僐儅儞僪幚峴晹乯
	MSmbMusicAPMainPlayerFilterProcessObserver& 		iObserver;

	// 幚峴寢壥
	TInt												iResult;


private:
	enum TSmbMusicAPMainPlayerFilterProcessState
		{
		EStateIdling,
		EStateRequesting,
		EStateCompleted
		};

	// 忬懺慗堏曄悢
	TSmbMusicAPMainPlayerFilterProcessState 			iState;
	// 梫媮尦傾僋僥傿僽僆僽僕僃僋僩偺僗僥乕僞僗
	TRequestStatus*										iClientStatus;

	// 梫媮尦忣曬
	TInt												iRequestOwnerInfo;

// Add-S PTX-824 暯壀
	DCM_NAMESPACE::RLog& 								iLog;			///< 儘僌弌椡僋儔僀傾儞僩(uses)
// Add-E PTX-824 暯壀
	};


SEMCJ_NAMESPACE_END

#endif // __SMBMUSICAPMAINPLAYERFILTERSYNCSERVERPROCESS_H__

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

⌨️ 快捷键说明

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