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

📄 smbmusicapsyncservercontentsservicesearchfromlist.h

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 H
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPSyncServerContentsServiceSearchFromList.h
//
// Description:
//	PTX810 Music傾僾儕 摨婜僒乕僶 僐儞僥儞僣僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰			|撪梕
//--------------+---------------+--------------------------------------
//2006/06/15	|SDNA 壀嶳		|怴婯嶌惉

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICESEARCHFROMLIST_H__
#define __SMBMUSICAPSYNCSERVERCONTENTSSERVICESEARCHFROMLIST_H__


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

#ifndef __SMBMUSICMWLIBCLIENT_H__
#include <SmbMusicMWLibClient.h>
#endif

#ifndef __SMBMUSICMWLIBCLIENT_H__
#include <SmbMusicAPSyncEngineDef.h>
#endif

#ifndef __SMBMUSICMWLIBCLIENT_H__
#include <SmbMusicAPSyncServerDef.h>
#endif

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICEBASE_H__
#include "SmbMusicAPSyncServerContentsServiceBase.h"
#endif


DCM_NAMESPACE_BEGIN
class RLog;
DCM_NAMESPACE_END


SEMCJ_NAMESPACE_BEGIN

class CSmbMusicAPSyncServerModel;
class CSmbMusicAPSyncServerContentsFunc;
class MSmbMusicAPSyncServerContentsAsyncObserver;
class MSmbMusicAPSyncServerContentsManagerInterface;

class CSmbMusicAPSyncServerContentsList;
class CSmbMusicAPSyncServerContentsScreenTraceManager;


/**
 * Music傾僾儕 摨婜僒乕僶 僐儞僥儞僣偺僒乕價僗僋儔僗
 * 乮儕僗僩偐傜僼傿儖僞儕儞僌傪峴偭偨儕僗僩傪庢摼偡傞僒乕價僗乯
 *
 */
class CSmbMusicAPSyncServerContentsServiceSearchFromList : public CSmbMusicAPSyncServerContentsServiceBase
	{
public:

	/**
	 僐儞僗僩儔僋僞
	 * @param [in]		aRlog				RLog偺嶲徠
	 * @param [in]		aModel				儌僨儖僋儔僗偺嶲徠
	 * @param [in]		aObserver			僐儞僥儞僣僼傽儞僋儔僗偺嶲徠
	 * @param [in]		aFunc				僒乕價僗姰椆捠抦愭僋儔僗偺嶲徠
	 * @param [in]		aManagerInterface	奺儅僱乕僕儍傪娗棟偡傞僋儔僗偺嶲徠
	 * @param [in]		aScreenData			夋柺慗堏僨乕僞娗棟僋儔僗偺嶲徠
	 * @param [in,out]	aRMessage			RMessage偺億僀儞僞
	 * @return								側偟
	 */
	CSmbMusicAPSyncServerContentsServiceSearchFromList( DCM_NAMESPACE::RLog&								aRlog,
														CSmbMusicAPSyncServerModel& 						aModel,
														MSmbMusicAPSyncServerContentsAsyncObserver& 		aObserver,
														CSmbMusicAPSyncServerContentsFunc& 					aFunc,
														MSmbMusicAPSyncServerContentsManagerInterface& 		aManagerInterface,
														CSmbMusicAPSyncServerContentsScreenTraceManager&	aScreenData,
														const RMessage2&									aRMessage);

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

	/**
	 僒乕價僗傪奐巒偡傞
	 * @param	側偟
	 * @return	僒乕價僗張棟忬懺
	 */
	TSmbMusicAPSyncServerContentsServiceState StartServiceL();

	/**
	 巜掕僀儀儞僩偵傛傝僉儍儞僙儖偝傟傞偐偳偆偐傪敾抐偡傞
	 * @param [in]	aCancelEvent	僉儍儞僙儖僀儀儞僩
	 * @return						僉儍儞僙儖懳徾偐偳偆偐乮ETrue:僉儍儞僙儖懳徾丄EFalse丗僉儍儞僙儖旕懳徾乯
	 */
	TBool CheckCancel(TSmbMusicAPSyncServerFunction aCancelEvent);

	/**
	 旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞
	 * @param	側偟
	 * @return	僒乕價僗張棟忬懺
	 */
	TSmbMusicAPSyncServerContentsServiceState ContinueServiceL();

	/**
	 旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞(儊僞儕僗僩 傾僀僥儉懸偪忬懺)
	 * @param	側偟
	 * @return	僒乕價僗張棟忬懺
	 */
	TSmbMusicAPSyncServerContentsServiceState ContinueServiceWaitItemMetaL();

	/**
	 旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞(嬋儕僗僩 傾僀僥儉懸偪忬懺)
	 * @param	側偟
	 * @return	僒乕價僗張棟忬懺
	 */
	TSmbMusicAPSyncServerContentsServiceState ContinueServiceWaitItemSongL();

	/**
	 旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞(僾儗僀儕僗僩 嬋傾僀僥儉懸偪忬懺)
	 * @param	側偟
	 * @return	僒乕價僗張棟忬懺
	 */
	TSmbMusicAPSyncServerContentsServiceState ContinueServiceWaitItemPLSongL();

	/**
	 旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞(儊僞儕僗僩or嬋儕僗僩  儕僗僩懸偪忬懺)
	 * @param	側偟
	 * @return	僒乕價僗張棟忬懺
	 */
	TSmbMusicAPSyncServerContentsServiceState ContinueServiceWaitListMetaAndSongL();

	/**
	 旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞(僾儗僀儕僗僩  嬋儕僗僩懸偪忬懺)
	 * @param	側偟
	 * @return	僒乕價僗張棟忬懺
	 */
	TSmbMusicAPSyncServerContentsServiceState ContinueServiceWaitListPLSongL();

	/**
	 旕摨婜墳摎僄儔乕偺張棟傪峴偆
	 * @param [in] aError	僄儔乕僐乕僪
	 * @return				僒乕價僗張棟忬懺
	 */
	TSmbMusicAPSyncServerContentsServiceState ServiceErr(TInt aError);

	/**
	 僒乕價僗偺僉儍儞僙儖張棟傪峴偆
	 * @param	側偟
	 * @return	側偟
	 */
	void CancelService();

private:

	/**
	 僷儔儊乕僞傪撉傒崬傓
	 * @param	側偟
	 * @return	僷儔儊乕僞偺惓忢惈
	 */
	TBool LoadParam();

	/**
	 儕僗僩傪嶌惉偡傞
	 * @param	側偟
	 * @return	僒乕價僗張棟忬懺
	 */
	TSmbMusicAPSyncServerContentsServiceState CreateListL();

	/**
	 儊僞儕僗僩傪嶌惉偡傞
	 * @param [in]	aPrevList	堦偮慜偵側傞僐儞僥儞僣儕僗僩僋儔僗偺嶲徠
	 * @return					僒乕價僗張棟忬懺
	 */
	TSmbMusicAPSyncServerContentsServiceState CreateMetaListL(CSmbMusicAPSyncServerContentsList& aPrevList);

	/**
	 嬋儕僗僩傪嶌惉偡傞
	 * @param [in]	aPrevList	堦偮慜偵側傞僐儞僥儞僣儕僗僩僋儔僗偺嶲徠
	 * @return					僒乕價僗張棟忬懺
	 */
	TSmbMusicAPSyncServerContentsServiceState CreateSongListL(CSmbMusicAPSyncServerContentsList& aPrevList);

	/**
	 PL儕僗僩傪嶌惉偡傞
	 * @param [in]	aList	僐儞僥儞僣儕僗僩僋儔僗偺嶲徠
	 * @return				僒乕價僗張棟忬懺
	 */
	TSmbMusicAPSyncServerContentsServiceState CreatePLSongList(CSmbMusicMWLibMusicItem* aList);

	/**
	 慡嬋儕僗僩傪嶌惉偡傞
	 * @param [in]	aPrevList	堦偮慜偵側傞僐儞僥儞僣儕僗僩僋儔僗偺嶲徠
	 * @return					僒乕價僗張棟忬懺
	 */
	TSmbMusicAPSyncServerContentsServiceState CreateAllSongListL(CSmbMusicAPSyncServerContentsList& aPrevList);

	/**
	 僒乕價僗傪惓忢偵姰椆偡傞
	 * @param [in] aListInfo	墳摎偵昁梫側忣曬
	 * @return					側偟
	 */
	void Complete(TSmbMusicAPSyncEngineListInfo aListInfo);

	/**
	 僒乕價僗傪僄儔乕偱姰椆偡傞
	 * @param [in] aResult	僒乕價僗廔椆帪偺寢壥
	 * @return				側偟
	 */
	void CompleteErr(TInt aResult = KErrServiceFailure);

	/**
	 専嶕忦審傪嶌惉偡傞
	 * @param [in,out]	aSearchConditionArray	専嶕忦審攝楍偺嶲徠
	 * @param [in]		aColumn					専嶕忦審庬暿
	 * @return									側偟
	 */
	void MakeConditionInfoL( CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>&	aSearchConditionArray,
							 TSmbMusicMWLibColumn  								aColumn);

	/**
	 専嶕忦審傪嶌惉偡傞
	 * @param [in,out]	aSearchConditionArray	専嶕忦審攝楍偺嶲徠
	 * @param [in]		aColumn					専嶕忦審庬暿
	 * @param [in]		aMatchOption			暥帤楍堦抳忦審
	 * @param [in]		aDispString				専嶕暥帤楍
	 * @return									側偟
	 */
	void MakeConditionInfoL( CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>&	aSearchConditionArray,
							 TSmbMusicMWLibColumn  								aColumn,
							 TSmbMusicMWLibMatchOption							aMatchOption,
							 const TDesC&										aDispString);

	/**
	 僜乕僩忦審傪嶌惉偡傞
	 * @param [in,out]	aSortConditionArray		僜乕僩忦審攝楍偺嶲徠
	 * @param [in]		aColumn					僜乕僩忦審庬暿
	 * @param [in]		iOrder					僜乕僩弴巜掕
	 * @return									側偟
	 */
	void MakeSortInfoL( CArrayFixFlat<TSmbMusicMWLibSortConditionInfo>&	aSortConditionArray,
						TSmbMusicMWLibColumn  							aColumn,
						TBool											aOrder);

	/**
	 専嶕忣曬傪嶌惉偡傞
	 * @param [in,out]	aSearchInfo				専嶕忣曬偺嶲徠
	 * @param [in]		aSearchConditionArray	専嶕忦審攝楍偺億僀儞僞
	 * @param [in]		aSortConditionArray		僜乕僩忦審攝楍偺億僀儞僞
	 * @return			嶌惉偺惉斲
	 */
	TBool MakeSearchInfo(CSmbMusicMWLibSearchInfo&							aSearchInfo,
						 CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>*	aSearchConditionArray,
						 CArrayFixFlat<TSmbMusicMWLibSortConditionInfo>*	aSortConditionArray);

private:

	/**
		僒乕價僗忬懺
	   乮儕僗僩偐傜僼傿儖僞儕儞僌傪峴偭偨儕僗僩傪庢摼偡傞僒乕價僗乯
	*/
	enum	TSmbMusicAPSyncServerContentsServiceSearchFromListState
		{
		ESmbMusicAPSyncServerContentsServiceSearchFromListState_Init,					// 僒乕價僗弶婜忬懺
		ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitList_Meta,			// 僒乕價僗儊僞儕僗僩庢摼懸偪忬懺
		ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitList_Song,			// 僒乕價僗嬋儕僗僩庢摼懸偪忬懺
		ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitList_PLSong,		// 僒乕價僗PL嬋儕僗僩庢摼懸偪忬懺
		ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitItem_Meta,			// 僒乕價僗儊僞傾僀僥儉庢摼懸偪忬懺
		ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitItem_Song,			// 僒乕價僗嬋傾僀僥儉庢摼懸偪忬懺
		ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitItem_PLSong,		// 僒乕價僗PL嬋傾僀僥儉庢摼懸偪忬懺
		ESmbMusicAPSyncServerContentsServiceSearchFromListState_End,					// 僒乕價僗廔椆忬懺
		};

	/**
		僐儞僨傿僔儑儞攝楍偺棻搙
	*/
	enum
		{
		KConditionArrayGranularity = 5
		};

	TInt 													iParamListHandle;			// 儕僗僩僴儞僪儖乮RMessage傛傝庢摼乯
	TInt 													iParamIndex;				// 僀儞僨僢僋僗乮RMessage傛傝庢摼乯
	TSmbMusicAPSyncEngineListSearchCondition 				iParamCondition;			// 専嶕忦審乮RMessage傛傝庢摼乯
	TSmbMusicAPSyncEngineRequestListType 					iParamListType;				// 儕僗僩庬暿乮RMessage傛傝庢摼乯
	TSmbMusicAPSyncServerContentsServiceSearchFromListState	iServiceState;				// 僒乕價僗偺忬懺
	CSmbMusicAPSyncServerContentsList*						iPrevList;					// 庢摼偟偨堦偮慜偺儕僗僩偺嶲徠
	TSmbMusicAPSyncEngineListType 							iReqListType;				// 儕僗僩庬暿乮摨婜僄儞僕儞掕媊乯
	TBuf<KSmMaxTitleLength>	 								iDispString;				// 昞帵暥帤楍
	CSmbMusicMWLibListItem* 								iTempListItem;				// 惗惉偟偨儕僗僩傾僀僥儉
	CSmbMusicMWLibItemArray* 								iTempArray;					// 惗惉偟偨傾僀僥儉攝楍
	CSmbMusicMWLibSearchInfo*								iTempSearchInfo;			// 惗惉偟偨専嶕忣曬
	CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>*		iTempSearchCondition;		// 惗惉偟偨専嶕忦審
	CArrayFixFlat<TSmbMusicMWLibSortConditionInfo>*			iTempSortCondition;			// 惗惉偟偨僜乕僩忦審
	};



SEMCJ_NAMESPACE_END

#endif //__SMBMUSICAPSYNCSERVERCONTENTSSERVICESEARCHFROMLIST_H__

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

⌨️ 快捷键说明

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