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

📄 smbmusicapsyncservercontentsservicedeleteitem.h

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

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICEDELETEITEM_H__
#define __SMBMUSICAPSYNCSERVERCONTENTSSERVICEDELETEITEM_H__

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

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

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

class RMessage2;

DCM_NAMESPACE_BEGIN
class RLog;
DCM_NAMESPACE_END


SEMCJ_NAMESPACE_BEGIN

class MSmbMusicAPSyncServerCommandObserver;
class CSmbMusicAPSyncServerContentsFunc;
class CSmbMusicAPSyncServerContentsImageDataManager;
class CSmbMusicAPSyncServerContentsScreenTraceManager;
class MSmbMusicAPSyncServerContentsAsyncObserver;
class CSmbMusicAPSyncServerContentsPLOrderManager;
class CSmbMusicAPSyncServerContentsPlaySongInfoManager;
class CSmbMusicAPSyncServerContentsList;
class CSmbMusicAPSyncServerContentsItem;
class CSmbMusicMWLibItemArray;
class CSmbMusicMWLibMusicItem;
class TSmbMusicAPSyncServerContentsReqPkg;

//堦搙偵嶍彍偡傞傾僀僥儉悢
const TInt KSmbMusicAPSyncServerDeleteNumberAtOnce = 10;
//堦搙偵庢摼偡傞傾僀僥儉悢
const TInt KSmbMusicAPSyncServerGetItemNumberAtOnce = 50;

/**
 * Music傾僾儕摨婜僒乕僶傾僀僥儉嶍彍僒乕價僗僋儔僗
 *
 *
 */
class CSmbMusicAPSyncServerContentsServiceDeleteItem : public CSmbMusicAPSyncServerContentsServiceBase
	{
public:

	/**

	 * @param [in/out/in,out]	aRlog
	 * @param [in/out/in,out]	aCommandObserver
	 * @param [in/out/in,out]	aFunc
	 * @param [in/out/in,out]	aImageData
	 * @param [in/out/in,out]	aScreenData
	 * @param [in/out/in,out]	aObserver
	 * @return
	 */
	CSmbMusicAPSyncServerContentsServiceDeleteItem(
			DCM_NAMESPACE::RLog& aRlog,
			CSmbMusicAPSyncServerModel& aModel,
			MSmbMusicAPSyncServerContentsAsyncObserver& aObserver,
			CSmbMusicAPSyncServerContentsFunc& aFunc,
			MSmbMusicAPSyncServerContentsManagerInterface& aMgrIf,
			CSmbMusicAPSyncServerContentsScreenTraceManager& aScreenData,
			const RMessage2& aRMessage);

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

	/**

	 * @param [in/out/in,out]	aRMessage
	 * @return
	 */
	TSmbMusicAPSyncServerContentsServiceState StartServiceL();

	/**

	 * @param [in/out/in,out]	aError
	 * @return	側偟
	 */
	TSmbMusicAPSyncServerContentsServiceState ServiceErr(TInt aError);

	/**

	 * @param	側偟
	 * @return	側偟
	 */
	void CancelService();

	/**

	 * @param	側偟
	 * @return
	 */
	TSmbMusicAPSyncServerContentsServiceState ContinueServiceL();

	/**
 	 *  僉儍儞僙儖梫媮偵懳偡傞僒乕價僗僉儍儞僙儖敾掕
 	 *
	 *  @param[in]	aCancelEvent	僉儍儞僙儖梫媮偝傟偨僀儀儞僩僞僀僾
	 *
	 *  @return	僉儍儞僙儖傪庴偗傞偐偳偆偐偺敾掕(ETrue:梫媮僉儍儞僙儖丄EFalse:梫媮傪僉儍儞僙儖偟側偄)
	 **/
	TBool CheckCancel(TSmbMusicAPSyncServerFunction aCancelEvent);

private:

	/**
 	*  梫媮儊僢僙乕僕偺撪梕傪僐僺乕偡傞
 	* @param [in]	側偟
 	* @return		側偟
 	*/
	void ReadParamFromMsgL();

	/**
	傾僀僥儉嶍彍張棟偺慜弨旛
	 * @param	側偟
	 * @return	僒乕價僗偺忬懺
	 **/
	TSmbMusicAPSyncServerContentsServiceState PrePareDeleteItemsL();

	/**
	 *  傾僀僥儉嶍彍張棟幚峴
	 * @param [in]	側偟
	 * @return		側偟
	 */
	TSmbMusicAPSyncServerContentsServiceState DeleteItemsL();

	/**
	 *  傾僀僥儉嶍彍姰椆偺僠僃僢僋
	 * @param [in]	側偟
	 * @return		側偟
	 */
	void CheckDeleteItems();

	/**
 	*  嶍彍姰椆張棟
 	* @param [in]	側偟
 	* @return		側偟
 	*/
	TSmbMusicAPSyncServerContentsServiceState CompleteDelete(TInt aResult);

	/**
 	*  梫媮張棟姰椆
 	* @param [in]	aResult	張棟寢壥
 	* @return		側偟
 	*/
	TSmbMusicAPSyncServerContentsServiceState CompleteThisService(TInt aResult);

	/**
 	*  傾僀僥儉惗惉偺拞巭
 	* @param [in]	側偟
 	* @return		側偟
 	*/
	void CancelCreateItem();

	/**
 	*  傾僀僥儉嶍彍偺拞巭
 	* @param [in]	側偟
 	* @return		側偟
 	*/
	void CancelDeleteItem();

	/**
	 *  儗僕儏乕儉忣曬傪嶍彍偡傞
	 * @param[in]	aItem			嶍彍偡傞傾僀僥儉
	 * @return		側偟
	 **/
	void DeleteResume(CSmbMusicMWLibMusicItem* aItem);

	/**
	 *  嶍彍拞偺僄儔乕敪惗偱張棟傪宲懕偡傞偐傪敾抐偡傞
	 * @param[in]	側偟
	 * @return		ETrue丗張棟傪宲懕/EFalse丗僄儔乕廔椆
	 **/
	TBool CheckErrState();

	/**
	 *  強桳偟偰偄傞傾僀僥儉傪嶍彍偡傞
	 * @param[in]	側偟
	 * @return		側偟
	 **/
	void DeleteObject();

	/**
	 *  嶍彍懳徾偺嬋傾僀僥儉傪惗惉偡傞
	 * @param[in]	側偟
	 * @return		張棟寢壥
	 **/
	TSmbMusicAPSyncServerContentsServiceState CreateListItemsL();

	/**
	 * 傾僀僥儉嶍彍張棟傪懕偗傞偐廔偊傞偐傪敾抐偡傞
	 * @param[in]	側偟
	 * @return		張棟寢壥
	 **/
	TSmbMusicAPSyncServerContentsServiceState DeleteItemContinueORFinish();

	/**
	 * 傾僀僥儉嶍彍寢壥傪僋儔僀傾儞僩偵捠抦偡傞
	 * @param[in]	側偟
	 * @return		側偟
	 **/
	void NotifyEvent();

private:

	//杮僒乕價僗僋儔僗偺忬懺
	enum TSmbMusicAPSyncServerContentsServiceDeleteState
	{
	EIdleState,				///<梫媮側偟忬懺
	ECreateItemState,		///<傾僀僥儉惗惉忬懺
	EDeleteState			///<傾僀僥儉嶍彍忬懺
	};

	TSmbMusicAPSyncServerContentsReqPkg* 			iReqPkg;				///<梫媮儊僢僙乕僕
	TPckg<TSmbMusicAPSyncServerContentsReqPkg>*		iReqTPckg;				///<梫媮儊僢僙乕僕偺僷僢働乕僕
	TSmbMusicAPSyncServerContentsServiceDeleteState	iState;					///<僒乕價僗偺張棟忬懺
	CSmbMusicAPSyncServerContentsList*				iList;					///<嶍彍懳徾偑強懏偡傞儕僗僩
	TInt											iListHandle;			///<嶍彍懳徾偑強懏偡傞儕僗僩偺僴儞僪儖
	TInt											iDeleteCount;			///<嶍彍偡傞傾僀僥儉悢
	RArray<TInt>*									iIndex;					///<嶍彍偡傞傾僀僥儉偺Index攝楍
	RArray<TInt>									iItemHandle;			///<嶍彍偡傞傾僀僥儉偺僴儞僪儖攝楍
	CArrayFixFlat<TInt>*							iDeleteHandle;			///<嶍彍傪幚峴偡傞傾僀僥儉僴儞僪儖攝楍
	TBool											iAllDelete;				///<慡審嶍彍僼儔僌
	CSmbMusicMWLibItemArray*						iLibImteArray;			///<MusicMWLib偺傾僀僥儉攝楍
	RPointerArray<CSmbMusicMWLibMusicItem>			iLibItem;				///<MusicMWLib偺傾僀僥儉攝楍
	TInt											iCompleteDeleteCount;	///<嶍彍偑姰椆偟偨傾僀僥儉悢
	TInt 											iTmpItemCount;			///<嶍彍偡傞慜偺儕僗僩傾僀僥儉悢
	TInt 											iGetItemCount;			///<嶍彍慜偵庢摼偟偨儕僗僩傾僀僥儉悢
	RArray<TInt>									iFailItems;				///<嶍彍偑幐攕偟偨傾僀僥儉
	};



SEMCJ_NAMESPACE_END

#endif //__SMBMUSICAPSYNCSERVERCONTENTSSERVICEDELETEITEM_H__

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

⌨️ 快捷键说明

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