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

📄 smbmusicapsyncservercontentslist.h

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 H
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPSyncServerContentsList.h
//
// Description:
//	PTX810 Music傾僾儕 摨婜僒乕僶 僐儞僥儞僣僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰			|撪梕
//--------------+---------------+--------------------------------------
//2006/06/08	|SDNA 壀嶳		| 怴婯嶌惉
//----PTX824----+---------------+--------------------------------------
//2007/06/20	|K3悪杮			| PTX824懳墳
//2007/06/29	|K3悪杮			| 婜尷愗傟僒僽僗僋儕僾僔儑儞僌儗乕昞帵懳墳


#ifndef __SMBMUSICAPSYNCSERVERCONTENTSLIST_H__
#define __SMBMUSICAPSYNCSERVERCONTENTSLIST_H__


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

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

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


DCM_NAMESPACE_BEGIN
class RLog;
DCM_NAMESPACE_END


SEMCJ_NAMESPACE_BEGIN

class CSmbMusicAPSyncServerContentsItem;

/**
 * Music傾僾儕 摨婜僒乕僶 僐儞僥儞僣偺儕僗僩僋儔僗
 */
class CSmbMusicAPSyncServerContentsList : public CBase
	{
public:
	/**
	 *  僨僗僩儔僋僞
	 **/
	~CSmbMusicAPSyncServerContentsList();

	/**
	 *  儕僗僩庬暿傪庢摼偡傞
	 *  @return	儕僗僩庬暿乮摨婜僄儞僕儞掕媊乯
	 **/
	TSmbMusicAPSyncEngineListType GetListType();

	/**
	 *  傾僀僥儉傪庢摼偡傞
	 *  @param[in]	aIndex	堦棗撪偱偺僀儞僨僢僋僗
	 *  @return	傾僀僥儉僋儔僗偺億僀儞僞(強桳尃傪堏忳偟側偄)
	 **/
	CSmbMusicAPSyncServerContentsItem* GetItem(TInt aIndex);

	/**
	 *  傾僀僥儉傪曐懚偡傞
	 *  @param[in]	aIndex			堦棗偱偺僀儞僨僢僋僗
	 *  @param[in]	aDispString		昞帵梡暥帤楍
	 *  @param[in]	aAvailable		傾僀僥儉偺棙梡壜斲忣曬(僨僼僅儖僩:棙梡壜)
	 *  @param[in]	aLimitatioin	嵞惗惂尷忣曬(僨僼僅儖僩:嵞惗惂尷側偟)
	 */
	void SetItem(
			TInt aIndex,
			const TDesC& aDispString,
			TInt aAvailable = ESmbMusicAPSyncEngineOK,
			TSmbMusicAPSyncEngineLimitation aLimitatioin = ESmbMusicAPSyncEngineLimitNone
			);

	/**
	 *  傾僀僥儉傪惗惉偡傞
	 *  @param[in]		aArray	儔僀僽儔儕MW偑掕媊偡傞
	 *  @param[in]		aIndex	惗惉偡傞傾僀僥儉偺愭摢偺僀儞僨僢僋僗
	 *  @param[in]		aCount	惗惉偡傞傾僀僥儉偺悢
	 *  @param[in,out]	aStatus	僗僥乕僞僗
	 *  @return	儔僀僽儔儕MW偐傜偺栠傝抣
	 **/
	TInt CreateNewItem(CSmbMusicMWLibItemArray& aArray, TInt aIndex, TInt aCount, TRequestStatus& aStatus);

	/**
	 *  専嶕忦審傪庢摼偡傞
	 *  @param[out]	aConditionArray	専嶕忣曬僋儔僗偺攝楍
	 *  @return	庢摼偺惉斲
	 **/
	virtual TBool GetSearchCondition(CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>& aConditionArray);

	/**
	 *  傾僀僥儉僋儔僗傪強帩(僉儍僢僔儏)偟偰偄傞偐傪挷傋傞
	 *  @param[in]	aIndex	堦棗撪偱偺僀儞僨僢僋僗
	 *  @return	ETrue:僉儍僢僔儏桳/EFalse:僉儍僢僔儏柍
	 **/
	TBool CheckItemCache(TInt aIndex);

	/**
	 *  傾僀僥儉惗惉偺僉儍儞僙儖傪峴偆
	 **/
	void CancelCreateNewItem();

	/**
	 *  儕僗僩僴儞僪儖傪庢摼偡傞
	 *  @return	儕僗僩僴儞僪儖
	 **/
	TInt GetListHandle();

	/**
	 *  嶲徠悢傪僇僂儞僩傾僢僾偡傞
	 *  @return	僇僂儞僩傾僢僾屻偺嶲徠悢
	 **/
	TInt RefarenceCountUp();

	/**
	 *  嶲徠悢傪僇僂儞僩僟僂儞偡傞
	 *  @return	僇僂儞僩僟僂儞屻偺嶲徠悢
	 **/
	TInt RefarenceCountDown();

	/**
	 *  強帩偟偰偄傞傾僀僥儉忣曬傪慡偰嶍彍偡傞
	 **/
	void DeleteAllItem();

	/**
	 *  儕僗僩撪偵娷傑傟傞傾僀僥儉偺憤悢傪庢摼偡傞
	 *  @return	傾僀僥儉悢
	 **/
	TInt GetItemCount();

	/**
	 *  儔僀僽儔儕MW偐傜庢摼偟偨儕僗僩僋儔僗傪庢摼偡傞
	 *  @return	儔僀僽儔儕MW偐傜庢摼偟偨儕僗僩僋儔僗偺嶲徠
	 **/
	CSmbMusicMWLibListItem& GetListItem();

	/**
	 *  昞帵暥帤楍傪庢摼偡傞
	 *  @param[in]	aDispInfo	昞帵暥帤楍
	 **/
	virtual void GetDispInfo(TDes& aDispString);

	/**
	 *  傾僀僥儉偺搊榐傪夝彍偡傞(儔僀僽儔儕MW偺儔僢僺儞僌娭悢)
	 *  @param[in]		aIndexArray	夝彍偡傞傾僀僥儉偺僀儞僨僢僋僗攝楍
	 *  @param[in,out]	aStatus		旕摨婜僗僥乕僞僗
	 *  @return	張棟寢壥
	 **/
	virtual TInt RemoveItem(CArrayFixFlat<TInt>& aIndexArray, TRequestStatus& aStatus);

	/**
	 *  傾僀僥儉偺搊榐傪夝彍偡傞(儔僀僽儔儕MW偺儔僢僺儞僌娭悢)
	 *  @param[out]	aStatus	旕摨婜僗僥乕僞僗
	 *  @return	儔僀僽儔儕MW偐傜偺栠傝抣
	 **/
	virtual TInt RemoveItem(TRequestStatus& aStatus);

	/**
	 *  傾僀僥儉偺搊榐夝彍傪僉儍儞僙儖偡傞(儔僀僽儔儕MW偺儔僢僺儞僌娭悢)
	 **/
	virtual void CancelRemoveItem();

	/**
	 *  専嶕忦審偑堦抳偟偰偄傞偐傪僠僃僢僋偡傞
	 *  @param[in]	aSearchListType			専嶕偵偍偗傞儕僗僩庬暿
	 *  @param[in]	aListSearchCondition	専嶕偵偍偗傞忦審
	 *  @return	堦抳忬嫷(ETrue丗堦抳丄EFalse丗晄堦抳)
	 **/
	virtual TBool CheckSearchInfo(
			TSmbMusicAPSyncEngineRequestListType aSearchListType,
			TSmbMusicAPSyncEngineListSearchCondition aListSearchCondition
			);

	/**
	 *  専嶕忦審偑堦抳偟偰偄傞偐傪僠僃僢僋偡傞
	 *  @param[in]	aSearchListType		専嶕偵偍偗傞儕僗僩庬暿
	 *  @param[in]	aSearchCondition	専嶕偵偍偗傞忦審
	 *  @return	堦抳忬嫷(ETrue丗堦抳丄EFalse丗晄堦抳)
	 */
	virtual TBool CheckSearchInfo(
			TSmbMusicAPSyncEngineRequestListType aSearchListType,
			TSmbMusicAPSyncEngineSearchCondition aSearchCondition
			);

	/**
	 *  専嶕偵偍偗傞忦審(Top梡)傪庢摼偡傞
	 *  @param[in]	aSearchCondition	専嶕偵偍偗傞忦審(Top梡)偺嶲徠
	 *  @return	庢摼偺惉斲
	 **/
	virtual TBool GetSearchTopCondition(TSmbMusicAPSyncEngineSearchCondition& aSearchCondition);

//  ADD-S  婜尷愗傟僒僽僗僋儕僾僔儑儞僌儗乕昞帵懳墳
	/**
	 *  巜掕偟偨僀儞僨僢僋僗偱偁傞僉儍僢僔儏傪攋婞偡傞
	 *  @param[in]	aIndex	儕僗僩撪偵偍偗傞僀儞僨僢僋僗
	 **/
	void DeleteCacheItem(TInt aIndex);
//  ADD-E  婜尷愗傟僒僽僗僋儕僾僔儑儞僌儗乕昞帵懳墳


protected:
	/**
	 *  僐儞僗僩儔僋僞
	 * @param[in]	aLog				RLog偺嶲徠
	 * @param[in]	aListHandle			儕僗僩僴儞僪儖
	 * @param[in]	aListItem			儔僀僽儔儕MW偐傜庢摼偟偨儕僗僩偺億僀儞僞
	 * @param[in]	aListType			儕僗僩庬暿乮摨婜僄儞僕儞掕媊乯
	 * @param[in]	aSearchListType		専嶕偵偍偗傞儕僗僩庬暿
	 * @param[in]	aSearchCondition	専嶕偵偍偗傞忦審
	 **/
	CSmbMusicAPSyncServerContentsList(
			DCM_NAMESPACE::RLog& aLog,
			TInt aListHandle,
			CSmbMusicMWLibListItem* aListItem,
			TSmbMusicAPSyncEngineListType aListType,
			TSmbMusicAPSyncEngineRequestListType aSearchListType,
			TSmbMusicAPSyncEngineSearchCondition aSearchCondition
			);

	/**
	 *  僐儞僗僩儔僋僞
	 *  @param[in]	aLog					RLog偺嶲徠
	 *  @param[in]	aListHandle				儕僗僩僴儞僪儖
	 *  @param[in]	aListItem				儔僀僽儔儕MW偐傜庢摼偟偨儕僗僩偺億僀儞僞
	 *  @param[in]	aListType				儕僗僩庬暿乮摨婜僄儞僕儞掕媊乯
	 *  @param[in]	aSearchListType			専嶕偵偍偗傞儕僗僩庬暿
	 *  @param[in]	aListSearchCondition	専嶕偵偍偗傞忦審
	 **/
	CSmbMusicAPSyncServerContentsList(
			DCM_NAMESPACE::RLog& aLog,
			TInt aListHandle,
			CSmbMusicMWLibListItem* aListItem,
			TSmbMusicAPSyncEngineListType aListType,
			TSmbMusicAPSyncEngineRequestListType aSearchListType,
			TSmbMusicAPSyncEngineListSearchCondition aListSearchCondition
			);


private:
	/**
	 *  傾僀僥儉攝楍偐傜堦棗撪偱偺Index偺傾僀僥儉傪扵偡
	 *  @param[in]	aIndex		堦棗撪偱偺僀儞僨僢僋僗
	 *  @param[out]	aArrayIndex	傾僀僥儉攝楍撪偱偺僀儞僨僢僋僗
	 *  @return	ETrue:僉儍僢僔儏桳/EFalse:僉儍僢僔儏柍
	 */
	TBool SearchItem(TInt aIndex, TInt& aArrayIndex);

	/**
	 *  傾僀僥儉傪嶍彍偡傞
	 *  @param[in]	aArrayIndex	傾僀僥儉攝楍忋偺僀儞僨僢僋僗
	 **/
	void DeleteItem(TInt aArrayIndex);

	/**
	 *  傾僀僥儉強帩壜擻側嵟戝悢傪庢摼偡傞
	 *  @return	嵟戝悢
	 **/
	virtual TInt GetMaxItemCount() = 0;


protected:
	DCM_NAMESPACE::RLog&								iLog;					///<  RLog偺嶲徠
	TInt 												iListHandle;			///<  儕僗僩僴儞僪儖
	CSmbMusicMWLibListItem*								iListItem;				///<  儔僀僽儔儕MW偐傜庢摼偟偨儕僗僩偺億僀儞僞
	TSmbMusicAPSyncEngineListType						iListType;				///<  儕僗僩庬暿乮摨婜僄儞僕儞掕媊乯
	TSmbMusicAPSyncEngineRequestListType				iSearchListType;		///<  専嶕偵偍偗傞儕僗僩庬暿
	TSmbMusicAPSyncEngineSearchCondition				iSearchCondition;		///<  専嶕偵偍偗傞忦審(TopList梡)
	TSmbMusicAPSyncEngineListSearchCondition			iListSearchCondition;	///<  専嶕偵偍偗傞忦審(List梡)
	HBufC*												iDispString;			///<  昞帵暥帤楍
	RArray<TSmbMusicMWLibSearchConditionInfo>			iConditionArray;		///<  儔僀僽儔儕MW梡偺専嶕忦審偺攝楍
	RPointerArray<CSmbMusicAPSyncServerContentsItem> 	iItems;					///<  傾僀僥儉僋儔僗偺攝楍
	TInt												iReferenceCount;		///<  儕僗僩僋儔僗傪強桳偟偰偄傞僋儔僗偺悢
	};

SEMCJ_NAMESPACE_END


#endif //__SMBMUSICAPSYNCSERVERCONTENTSLIST_H__

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

⌨️ 快捷键说明

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