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

📄 smbmusicapsyncservercontentsservicegetplaysongimage.h

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 H
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPSyncServerContentsServiceGetPlaySongImage.h
//
// Description:
//	PTX810 Music傾僾儕 摨婜僒乕僶 嵞惗嬋忣曬庢摼僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰			|撪梕
//--------------+---------------+--------------------------------------
//2006/06/11	|娵壀			| 怴婯嶌惉
//2006/09/25	|K3悪杮			| [iKeeper(TRK):9946] UIM幚峴惂尷敾掕捛壛
//2006/10/30	|K3悪杮			| [iKeeper(TRK):12221] 屆偄嵞惗嬋忣曬偑庢摼偝傟偰偄偨栤戣偺懳張

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICEGETPLAYSONGIMAGE_H__
#define __SMBMUSICAPSYNCSERVERCONTENTSSERVICEGETPLAYSONGIMAGE_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;
//  ADD-S  [iKeeper(TRK):9946] UIM幚峴惂尷敾掕捛壛
class CSmbMusicMWLibSongItem;
//  ADD-E  [iKeeper(TRK):9946] UIM幚峴惂尷敾掕捛壛

/**
 * Music傾僾儕摨婜僒乕僶丄嵞惗嬋偵娷傑傟傞夋憸庢摼僋儔僗
 *
 *
 */
class CSmbMusicAPSyncServerContentsServiceGetPlaySongImage : 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
	 */
	CSmbMusicAPSyncServerContentsServiceGetPlaySongImage(
			DCM_NAMESPACE::RLog& aRlog,
			CSmbMusicAPSyncServerModel& aModel,
			MSmbMusicAPSyncServerContentsAsyncObserver& aObserver,
			CSmbMusicAPSyncServerContentsFunc& aFunc,
			MSmbMusicAPSyncServerContentsManagerInterface& aMgrIf,
			CSmbMusicAPSyncServerContentsScreenTraceManager& aScreenData,
			const RMessage2& aRMessage);

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

	/**

	 * @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	側偟
	 */
	void ResetService();

	/**

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

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

private:

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

	/**
	 * 儊僢僙乕僕偵張棟寢壥傪僐僺乕偡傞
	 * @param [in]	側偟
	 * @return		張棟寢壥
	 */
	TInt WriteToMsg(const TDesC& aFileName);

	/**
 	* 嵞惗嬋偵娷傑傟傞夋憸庢摼奐巒
 	* @param [in]	側偟
 	* @return		側偟
 	*/
	TSmbMusicAPSyncServerContentsServiceState StartGetPlaySongImageL();

	/**
	 *  夋憸庢摼姰椆
	 * @param [in]	側偟
	 * @return		側偟
	 */
	TSmbMusicAPSyncServerContentsServiceState CompleteGetPlaySongImage();

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

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

	/**
 	*  嵞惗嬋偵娷傑傟傞夋憸傪庢摼偡傞
 	* @param[in]	側偟
 	* @return		僒乕價僗偺宲懕忬懺
 	**/
	TSmbMusicAPSyncServerContentsServiceState GetPlaySongImage();

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

	/**
	 *  夋憸庢摼偺僉儍儞僙儖
	 * @param[in]	側偟
	 * @return		側偟
	 **/
	void CancelGetPlaySongImage();

	/**
	 *  応崌偵傛偭偰偼Retry偟傑偡
	 * @param[in]	僄儔乕抣
	 * @return		ETrue:Retry偟傑偡/EFalse:僄儔乕廔椆偵側傝傑偡
	 **/
	TBool FailSafe(TInt aError);

//  ADD-S  [iKeeper(TRK):9946] UIM幚峴惂尷敾掕捛壛
	/**
	 *  UIM幚峴惂尷敾掕張棟
	 *
	 *  @param[in]	aSongItem	敾掕懳徾妝嬋傾僀僥儉
	 *  @param[out]	aIsLimited	敾掕寢壥(ETrue:UIM幚峴惂尷/EFalse:UIM幚峴惂尷偱側偄)
	 *
	 *	@return	張棟寢壥(KErrNone:張棟惉岟丄偦偺懠僄儔乕:張棟幐攕)
	 **/
	TInt IsLimitedSong(CSmbMusicMWLibSongItem& aSongItem, TBool& aIsLimited);
//  ADD-E  [iKeeper(TRK):9946] UIM幚峴惂尷敾掕捛壛


private:

	//杮僒乕價僗偺忬懺
	enum TSmbMusicAPSyncServerContentsServiceGetSongImageState
	{
	EIdleState,				///<梫媮側偟忬懺
	ECreateItemState,		///<傾僀僥儉惗惉忬懺
	EGetImageState			///<夋憸庢摼忬懺
	};

	TSmbMusicAPSyncServerContentsReqPkg* 					iReqPkg;			///<梫媮儊僢僙乕僕
	TPckg<TSmbMusicAPSyncServerContentsReqPkg>*				iReqTPckg;			///<梫媮儊僢僙乕僕偺僷僢働乕僕
	TSmbMusicAPSyncServerContentsServiceGetSongImageState	iState;				///<僒乕價僗偺張棟忬懺
	CSmbMusicAPSyncServerContentsList*						iList;				///<懳徾偑強懏偡傞儕僗僩
	TInt													iListHandle;		///<懳徾偑強懏偡傞儕僗僩偺僴儞僪儖
	CSmbMusicMWLibItemArray*								iLibImteArray;		///<MusicMWLib偺傾僀僥儉攝楍
	CSmbMusicMWLibMusicItem*								iLibItem;			///<MusicMWLib偺傾僀僥儉
	const TDesC*											iImageFileName;		///<夋憸僼傽僀儖柤
	TInt													iCreateImageTimes;	///<夋憸惗惉夞悢

//  ADD-S  [iKeeper(TRK):12221] 屆偄嵞惗嬋忣曬偑庢摼偝傟偰偄偨栤戣偺懳張
	TBool													iExistItem;			///<嵞惗嬋忣曬偺僉儍僢僔儏僼儔僌
//  ADD-E  [iKeeper(TRK):12221] 屆偄嵞惗嬋忣曬偑庢摼偝傟偰偄偨栤戣偺懳張
	};



SEMCJ_NAMESPACE_END

#endif //__SMBMUSICAPSYNCSERVERCONTENTSSERVICEGETPLAYSONGIMAGE_H__

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

⌨️ 快捷键说明

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