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

📄 smbmusicapmainplayerfilterprocessduplicateplaylist.h

📁 symbian
💻 H
字号:
/* Copyright (C) 2007 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//  SmbMusicAPMainPlayerFilterProcessDuplicatePlaylist.h
//
// Description: 
//  SmbMusicAPMainPlayerFilterProcessDuplicatePlaylist class header.
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅          |曄峏幰     |撪梕
//--------------+-----------+----------------------------------------------
//2007/03/26	|暯壀		|怴婯嶌惉

#ifndef __SMBMUSICAPMAINPLAYERFILTERPROCESSDUPLICATEPLAYLIST_H__
#define __SMBMUSICAPMAINPLAYERFILTERPROCESSDUPLICATEPLAYLIST_H__

#include "SmbMusicAPMainPlayerFilterProcess.h"
#include "SmbMusicAPMainPlayerFilterSyncServerController.h"

SEMCJ_NAMESPACE_BEGIN

class CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist : public CSmbMusicAPMainPlayerFilterProcess
														  , public MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver
//														  , public MSmbMusicAPMainPlayerSyncServerNotifyContentsObserver
	{
public:

	/**
	 僐儞僗僩儔僋僞
	 * @param[in]	aObserver				僆僽僓乕僶偺億僀儞僞
	 * @param[in]	aSyncServerController	摨婜僒乕僶惂屼偺嶲徠
	 * @return	側偟
	 */
	CSmbMusicAPMainPlayerFilterProcessDuplicatePlaylist(MSmbMusicAPMainPlayerFilterProcessObserver&		aObserver,
													 CSmbMusicAPMainPlayerFilterSyncServerController&	aSyncServerController);

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

	/**
	 僷儔儊乕僞愝掕
	 * @param[in]	aListHandle		儕僗僩僴儞僪儖
	 * @param[in]	aIndex			僀儞僨僢僋僗
	 * @param[in]	aTitle			僾儗僀儕僗僩柤
	 * @return						愝掕偺惉斲
	 */
	TBool SetParam(TInt aListHandle, TInt aIndex, const TDesC& aTitle);
	
	/**
	 儕僗僩僴儞僪儖庢摼
	 * @param	側偟
	 * @return	儕僗僩僴儞僪儖
	 */
	TInt GetParamListHandle();
	
	/**
	 傾僀僥儉偺愭摢僀儞僨僢僋僗庢摼
	 * @param[out]	aTopIndex	愭摢僀儞僨僢僋僗 奿擺応強偺嶲徠
	 * @return					庢摼偺惉斲乮張棟偑廔椆偟偰偄傞偐偳偆偐乯
	 */
	TBool GetTopIndex(TInt& aTopIndex);

	/**
	 傾僀僥儉悢庢摼
	 * @param[out]	aCount		傾僀僥儉悢 奿擺応強偺嶲徠
	 * @return					庢摼偺惉斲乮張棟偑廔椆偟偰偄傞偐偳偆偐乯
	 */
	TBool GetCount(TInt& aCount);

	/**
	 傾僀僥儉忣曬庢摼
	 * @param[out]	aItems			傾僀僥儉忣曬 奿擺応強偺嶲徠
	 * @return						庢摼偺惉斲乮張棟偑廔椆偟偰偄傞偐偳偆偐乯
	 */
	TBool GetItems(RArray<TSmbMusicAPSyncEngineListItemInfo>& aItems);

	/**
	 憓擖偝傟偨僀儞僨僢僋僗庢摼
	 * @param[out]	aIndex			僀儞僨僢僋僗 奿擺応強偺嶲徠
	 * @return						庢摼偺惉斲乮張棟偑廔椆偟偰偄傞偐偳偆偐乯
	 */
	TBool GetIndex(TInt& aIndex);
	

public: /* MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver */

	/**
	 * 梫媮姰椆
	 *
	 * @param[in]		aKind				梫媮庬暿
	 * @param[in]		aResult				張棟寢壥
	 * @param[in]		aResponse			墳摎僋儔僗偺嶲徠乮忣曬庢摼梡乯
	 */
	void RequestComplete(TSmbMusicAPMainPlayerRequest aKind, TInt aResult, MSmbMusicAPMainPlayerFilterSyncServerProcessResponse& aResponse);

	/**
	 * 梫媮僉儍儞僙儖
	 *
	 * @param[in]		aKind				梫媮庬暿
	 * @param[in]		aResponse			墳摎僋儔僗偺嶲徠乮忣曬庢摼梡乯
	 */
	void RequestCancel(TSmbMusicAPMainPlayerRequest aKind, MSmbMusicAPMainPlayerFilterSyncServerProcessResponse& aResponse);

//public: /* MSmbMusicAPMainPlayerSyncServerNotifyContentsObserver */
//
//	/**
//	 * 僐儞僥儞僣宯僀儀儞僩捠抦
//	 *
//	 * @param[in]		aEvent				僐儞僥儞僣宯僀儀儞僩
//	 */
//	void NotifyContentsEventL(TSmbMusicAPSyncEngineContentsEvent& aEvent);

public: /* CSmbMusicAPMainPlayerFilterProcess */
	/**
 	* 僾儘僙僗庬暿庢摼
 	* @param	側偟
 	* @return	僾儘僙僗庬暿
 	*/
	TSmbMusicAPMainPlayerFilterProcessType GetProcessType(){return EProcessTypeDuplicatePlayList;};

private: /* CSmbMusicAPMainPlayerFilterProcess */

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

	/**
	 * 偡傋偰偺僐儅儞僪幚峴偑廔傢偭偨偐偳偆偐妋擣偡傞
	 * @param	側偟
	 * @return	廔椆敾掕(ETrue:姰椆嵪 EFalse丗枹姰椆)
	 */
	TBool IsSequenceFinished();

	/**
	 * 張棟寢壥偺僀儞僨僢僋僗傪曐懚偡傞
	 * @param[in]	aIndex	僀儞僨僢僋僗
	 * @return				側偟
	 */
//	void SetResultIndex(TInt aIndex);

private:

	enum TFilterProcessDuplicatePlaylistEvent
		{
		EFilterProcessDuplicatePlaylistEventStart,
		EFilterProcessDuplicatePlaylistEventSyncServerComplete,
		EFilterProcessDuplicatePlaylistEventSyncServerCancel,
		EFilterProcessDuplicatePlaylistEventSyncServerErr,
// Add-S PTX-824懳墳(TRK-828)丂暯壀
		EFilterProcessDuplicatePlaylistEventSyncServerErrDiskFull,
// Add-E PTX-824懳墳(TRK-828)丂暯壀
//		EFilterProcessDuplicatePlaylistEventSyncServerNotify,
		};

	enum TFilterProcessDuplicatePlaylistState
		{
		EFilterProcessDuplicatePlaylistStateIdle,					// 枹張棟
		EFilterProcessDuplicatePlaylistStateWaitStart,				// 張棟奐巒懸偪
		EFilterProcessDuplicatePlaylistStateDuplicatePlaylist,		// 僾儗僀儕僗僩嶌惉拞
//		EFilterProcessDuplicatePlaylistStateWaitResult,				// 寢壥捠抦懸偪
		EFilterProcessDuplicatePlaylistStateGetListItems,			// 傾僀僥儉庢摼拞
		EFilterProcessDuplicatePlaylistStateEnd,					// 張棟廔椆
		EFilterProcessDuplicatePlaylistStateErr,					// 僄儔乕廔椆
		};

	// 敪惗僀儀儞僩
	TFilterProcessDuplicatePlaylistEvent				iEvent;
	// 張棟忬懺
	TFilterProcessDuplicatePlaylistState				iState;

	// 摨婜僒乕僶惂屼
	CSmbMusicAPMainPlayerFilterSyncServerController&	iSyncServer;
	// 摨婜僒乕僶惂屼 梫媮ID
	TInt												iRequestId;
	// 僀儞僨僢僋僗愝掕僼儔僌
	TBool												iSetResultIndex;
// Add-S PTX-824 暯壀
	DCM_NAMESPACE::RLog& 								iLog;			///< 儘僌弌椡僋儔僀傾儞僩(uses)
// Add-E PTX-824 暯壀

/* Input */	
	// 儕僗僩僴儞僪儖
	TInt												iListHandle;
	// 暋惢尦僾儗僀儕僗僩偺僀儞僨僢僋僗
	TInt 												iIndex;
	// 僾儗僀儕僗僩柤徧
	TBuf<KSmbMusicAPMainPlayerSongInfoWordLength>		iPlaylistTitle;


/* Output */	
	// 傾僀僥儉偺愭摢僀儞僨僢僋僗
	TInt												iTopIndex;
	// 傾僀僥儉偺庢摼悢
	TInt												iCount;
	// 傾僀僥儉忣曬攝楍
	RArray<TSmbMusicAPSyncEngineListItemInfo>			iItems;
	// 憓擖偝傟偨僀儞僨僢僋僗
	TInt												iResultIndex;
	};


SEMCJ_NAMESPACE_END

#endif // __SMBMUSICAPMAINPLAYERFILTERPROCESDUPLICATEPLAYLIST_H__

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

⌨️ 快捷键说明

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