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

📄 smbmusicapmainplayerfilterprocesscreateplaylist.h

📁 symbian
💻 H
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//  SmbMusicAPMainPlayerFilterProcessCreatePlaylist.h
//
// Description: 
//  SmbMusicAPMainPlayerFilterProcessCreatePlaylist class header.
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅          |曄峏幰     |撪梕
//--------------+-----------+----------------------------------------------
//2006/08/16	|SDNA壀嶳	|怴婯嶌惉
//2006/10/12	|SDNA壀嶳	|柤慜曄峏屻偺傾僀僥儉庢摼傪捛壛

#ifndef __SMBMUSICAPMAINPLAYERFILTERPROCESSCREATEPLAYLIST_H__
#define __SMBMUSICAPMAINPLAYERFILTERPROCESSCREATEPLAYLIST_H__

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

SEMCJ_NAMESPACE_BEGIN

class CSmbMusicAPMainPlayerFilterProcessCreatePlaylist : public CSmbMusicAPMainPlayerFilterProcess
													   , public MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver
													   , public MSmbMusicAPMainPlayerSyncServerNotifyContentsObserver
	{
public:

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

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

	/**
	 僷儔儊乕僞愝掕
	 * @param[in]	aListHandle		儕僗僩僴儞僪儖
	 * @param[in]	aTitle			僾儗僀儕僗僩柤
	 * @return						愝掕偺惉斲
	 */
	TBool SetParam(TInt aListHandle, 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 EProcessTypeCreatePlayList;};

private: /* CSmbMusicAPMainPlayerFilterProcess */

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

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

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

private:

//Change-S PTX-824 暯壀
	// 僐乕僨傿儞僌僈僀僪儔僀儞偵懃傝廋惓('_'傪徚嫀丄掕媊柤傪廋惓丄僐儊儞僩傪捛壛)
	/**
	 * 敪惗僀儀儞僩偺庬椶
	 */
	enum TFilterProcessCreatePlaylistEvent
		{
		EFilterProcessCreatePlaylistEventStart,
		EFilterProcessCreatePlaylistEventSyncServerComplete,
		EFilterProcessCreatePlaylistEventSyncServerCancel,
		EFilterProcessCreatePlaylistEventSyncServerErr,
		EFilterProcessCreatePlaylistEventSyncServerNotify,
// Add-S PTX-824懳墳丂暯壀
		EFilterProcessCreatePlaylistEventSyncServerErrDiskFull
// Add-E PTX-824懳墳丂暯壀
		};

	/**
	 * 張棟忬懺偺庬椶
	 */
	enum TFilterProcessCreatePlaylistState
		{
		EFilterProcessCreatePlaylistStateIdle,					///< 枹張棟
		EFilterProcessCreatePlaylistStateWaitStart,				///< 張棟奐巒懸偪
		EFilterProcessCreatePlaylistStateCreatePlaylist,		///< 僾儗僀儕僗僩嶌惉拞
		EFilterProcessCreatePlaylistStateWaitResult,			///< 寢壥捠抦懸偪
		EFilterProcessCreatePlaylistStateGetListItems,			///< 傾僀僥儉庢摼拞
		EFilterProcessCreatePlaylistStateEnd,					///< 張棟廔椆
		EFilterProcessCreatePlaylistStateErr,					///< 僄儔乕廔椆
		};
//Change-S PTX-824 暯壀

	// 敪惗僀儀儞僩
	TFilterProcessCreatePlaylistEvent					iEvent;
	// 張棟忬懺
	TFilterProcessCreatePlaylistState					iState;

	// 摨婜僒乕僶惂屼
	CSmbMusicAPMainPlayerFilterSyncServerController&	iSyncServer;
	// 摨婜僒乕僶惂屼 梫媮ID
	TInt												iRequestId;
	// 僀儞僨僢僋僗愝掕僼儔僌
	TBool												iSetResultIndex;

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

/* Input */	
	// 儕僗僩僴儞僪儖
	TInt												iListHandle;
	// 僾儗僀儕僗僩柤徧
	TBuf<KSmbMusicAPMainPlayerSongInfoWordLength>		iPlaylistTitle;


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


SEMCJ_NAMESPACE_END

#endif // __SMBMUSICAPMAINPLAYERFILTERPROCESSCREATEPLAYLIST_H__

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

⌨️ 快捷键说明

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