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

📄 smbmusicapmainplayerfiltersyncservercontroller.h

📁 symbian
💻 H
📖 第 1 页 / 共 4 页
字号:
	 * 嵞惗儌乕僪愝掕
	 *
	 * @param[in]	aShuffle			嵞惗儌乕僪愝掕抣
	 * @param[in]	aOwnerId			梫媮尦ID
	 * @param[in]	aId					ID奿擺愭
	 * @param[in]	aOwner				墳摎愭
	 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
	 */
	TInt SetPlayMode(TSmbMusicAPSyncEngineShuffleMode 								aShuffle,
						TSmbMusicAPMainOwnerType									aOwnerId,
					 TInt&															aId,
					 MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner);

	/**
	 * 僀僐儔僀僓愝掕
	 *
	 * @param[in]	aEqua				僀僐儔僀僓愝掕抣
	 * @param[in]	aOwnerId			梫媮尦ID
	 * @param[in]	aId					ID奿擺愭
	 * @param[in]	aOwner				墳摎愭
	 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
	 */
	TInt SetEqualizer(	TSmbMusicAPSyncEngineEqualizeType 								aEqua,
						TSmbMusicAPMainOwnerType										aOwnerId,
						TInt&															aId,
						MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner);

	/**
	 * BASS愝掕
	 *
	 * @param[in]	aBass				BASS愝掕抣
	 * @param[in]	aOwnerId			梫媮尦ID
	 * @param[in]	aId					ID奿擺愭
	 * @param[in]	aOwner				墳摎愭
	 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
	 */
	TInt SetBass(TSmbMusicAPSyncEngineBassType 									aBass,
				 TSmbMusicAPMainOwnerType										aOwnerId,
				 TInt&															aId,
				 MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner);

	/**
	 * D.Normalizer愝掕
	 *
	 * @param[in]	aAutoLevel			D.Normalizer愝掕抣(ETrue:ON EFalse:OFF)
	 * @param[in]	aOwnerId			梫媮尦ID
	 * @param[in]	aId					ID奿擺愭
	 * @param[in]	aOwner				墳摎愭
	 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
	 */
	TInt SetDNormalizer(TBool 															aAutoLevel,
						TSmbMusicAPMainOwnerType										aOwnerId,
						TInt&															aId,
						MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner);

	/**
	 * 慡愝掕
	 *
	 * @param[in]	aSetting			慡愝掕僷儔儊乕僞
	 * @param[in]	aOwnerId			梫媮尦ID
	 * @param[in]	aId					ID奿擺愭
	 * @param[in]	aOwner				墳摎愭
	 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrNotReady:梫媮庴晅嫅斲)
	 */
	TInt SetAllParam(TSmbMusicAPSyncEngineAllParam 									aSetting,
					 TSmbMusicAPMainOwnerType										aOwnerId,
					 TInt&															aId,
					 MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner);

// Add-S PTX-824懳墳丂暯壀
	/**
	 * 嵞惗忣曬庢摼梫媮
	 *
	 * @param[in]	aListHandle			儕僗僩僴儞僪儖
	 * @param[in]	aIndex				index斣崋
//	 * @param[out]	aLimitInfo			嵞惗惂尷忣曬
	 * @param[in]	aOwnerId			梫媮尦ID
	 * @param[in]	aId					ID奿擺愭
	 * @param[in]	aOwner				墳摎愭
	 * @return							張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
	*/
	TInt GetSongLimitInfo(TInt 															aListHandle, 
						  TInt 															aIndex,
//						  TSmbMusicAPSyncEngineLimitInfo&								aLimitInfo,
						  TSmbMusicAPMainOwnerType										aOwnerId,
						  TInt&															aId,
						  MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner);

	/**
	 * 儔僀僙儞僗僠僃僢僋偺昁梫側CP儕僗僩偺庢摼梫媮
	 *
//	 * @param[out]	aList			儔僀僙儞僗僠僃僢僋偺昁梫側CP儕僗僩偺儕僗僩僴儞僪儖偲丄儕僗僩撪傾僀僥儉悢
	 * @param[in]	aOwnerId		梫媮尦ID
	 * @param[in]	aId				ID奿擺愭
	 * @param[in]	aOwner			墳摎愭
	 * @return						張棟寢壥(KErrnone:惓忢廔椆丂KErrPermissionDenied:傾僋僙僗尃柍偟 KErrInUse:梫媮庴晅嫅斲)
	*/
	TInt GetCpList(//TSmbMusicAPSyncEngineListInfo& 									aList, 
				   TSmbMusicAPMainOwnerType											aOwnerId,
				   TInt&															aId,
				   MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver&	aOwner);

// Add-E PTX-824懳墳丂暯壀

public:

	/**
	 * 師偺僒乕價僗傪幚峴偡傞
	 */
	void StartNextService();

	/**
	 * 廔椆張棟奐巒
	 */
	void StartAppExit();

private:
	/**
	 * 僐儞僗僩儔僋僞
	 *
	 * @param[in]		aEngine		摨婜僄儞僕儞
	 */
	CSmbMusicAPMainPlayerFilterSyncServerController(CSmbMusicAPSyncEngine& aEngine);

	/**
	 * 2僼僃乕僘僐儞僗僩儔僋僞
	 */
	void ConstructL();

	/**
	 * 僾儗僀儎乕旕摨婜梫媮嶌惉
	 *
	 * @param[in]		aOwner		梫媮尦暿摨婜僒乕僶僐儞僩儘乕儔偺嶲徠
	 * @param[in]		aObserver	寢壥偺捠抦愭
	 * @return						僒乕價僗幚峴僀儞僗僞儞僗
	 */
	CSmbMusicAPMainPlayerFilterSyncServerProcess* NewRequest(CSmbMusicAPMainPlayerFilterSyncServerControllerForEachOwner& 	aOwner, 
															 MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver& 	aObserver);

	/**
	 * 梫媮尦傪庢摼偡傞
	 *
	 * @param[in]		aId		梫媮尦 ID
	 * @return					梫媮尦暿 摨婜僄儞僕儞僐儞僩儘乕儖
	 */
	CSmbMusicAPMainPlayerFilterSyncServerControllerForEachOwner* GetOwner(TInt aId);

	/**
	 * 師偵梫媮傪幚峴偡傞梫媮尦傪庢摼偡傞
	 *
	 * @return		師偺梫媮尦暿 摨婜僄儞僕儞僐儞僩儘乕儖
	 */
	CSmbMusicAPMainPlayerFilterSyncServerControllerForEachOwner* GetNextOwner();


private:

	enum TServiceState
		{
		EState_Normal,
		EState_Busy,
		};

	CSmbMusicAPSyncEngine& 														iEngine;			// 摨婜僄儞僕儞
	CSmbMusicAPLibImageFunc* 													iImageFunc;			// 夋憸壛岺僋儔僗

	TBool 																		iHasSyncServer;		// 摨婜僒乕僶傾僋僙僗尃(ETrue丗傾僋僙僗尃偁傝丂EFalse丗傾僋僙僗尃側偟)

	TServiceState																iState;				// 忬懺

	RPointerArray<MSmbMusicAPMainPlayerSyncServerNotifyContentsObserver>		iContentsObserver;	// 摨婜僄儞僕儞僐儞僩儘乕儖僆僽僓乕僶(僐儞僥儞僣宯)
	RPointerArray<MSmbMusicAPMainPlayerSyncServerNotifySyncObserver>			iSyncObserver;		// 摨婜僄儞僕儞僐儞僩儘乕儖僆僽僓乕僶(摨婜宯)
	//2006.10.03 傾僋僥傿僽僼僅乕僇僗懳墳
	RPointerArray<MSmbMusicAPMainPlayerSyncServerNotifyPlayerObserver>			iPlayerObserver;	// 摨婜僄儞僕儞僐儞僩儘乕儖僆僽僓乕僶(嵞惗宯)
	RPointerArray<CSmbMusicAPMainPlayerFilterSyncServerControllerForEachOwner>	iEachControllers;	// 摨婜僄儞僕儞僐儞僩儘乕儖(梫媮尦暿)
	TInt																		iCurrentOwner;		// 尰嵼幚峴拞偺梫媮尦暿
	
	TBool																		iEnd;				// 傾僾儕廔椆張棟幚峴僼儔僌
// Add-S PTX-824 暯壀
	DCM_NAMESPACE::RLog& 														iLog;				///< 儘僌弌椡僋儔僀傾儞僩(uses)
// Add-E PTX-824 暯壀
	};
	






/*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------CSmbMusicAPMainPlayerFilterSyncServerControllerForEachOwner---------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/





/**
 * 儈儏乕僕僢僋僒僽僾儗僀儎乕摨婜僄儞僕儞僐儞僩儘乕儖僋儔僗(梫媮尦暿)
 */
class CSmbMusicAPMainPlayerFilterSyncServerControllerForEachOwner :	public CBase
	{

private:

	enum TRequestPriority
		{
		ERequestPriority_Low,
		ERequestPriority_Normal,
		ERequestPriority_High,
		ERequestPriority_Absoluteness,	// 桪愭搙偵傛偭偰僉儍儞僙儖偝傟側偄
		};


public:
	/**
	 * 僐儞僗僩儔僋僞
	 *
	 * @param[in]		aId			幆暿ID
	 * @param[in]		aController	摨婜僒乕僶僐儞僩儘乕儔
	 * @param[in]		aEngine		摨婜僄儞僕儞
	 * @param[in]		aImageFunc	夋憸壛岺僋儔僗
	 */
	CSmbMusicAPMainPlayerFilterSyncServerControllerForEachOwner(
								TInt 												aId, 
								CSmbMusicAPMainPlayerFilterSyncServerController& 	aController, 
								CSmbMusicAPSyncEngine& 								aEngine, 
								CSmbMusicAPLibImageFunc& 							aImageFunc);

	/**
	 * 僨僗僩儔僋僞
	 */
	~CSmbMusicAPMainPlayerFilterSyncServerControllerForEachOwner();

	/**
	 * 僒乕價僗幚峴僀儞僗僞儞僗偺愝掕
	 *
	 * @param[in]		aReq	僒乕價僗幚峴僀儞僗僞儞僗
	 * @return					愝掕寢壥乮ETrue:惉岟 EFalse:幐攕乯
	 */
	TBool SetRequestPriority(CSmbMusicAPMainPlayerFilterSyncServerProcess* aReq);

	/**
	 * 僒乕價僗幚峴僀儞僗僞儞僗偺愝掕
	 * @param[in]		aReq	僒乕價僗幚峴僀儞僗僞儞僗
	 * @return					愝掕寢壥乮ETrue:惉岟 EFalse:幐攕乯
	 */
	TBool SetRequestRequestKind(CSmbMusicAPMainPlayerFilterSyncServerProcess* aReq);

	/**
	 * 僒乕價僗傪幚峴偡傞
	 * @return				僒乕價僗奐巒寢壥(ETrue:僒乕價僗奐巒丄EFalse:僒乕價僗奐巒偣偢)
	 */
	TBool StartRequest();

	/**
	 * 旕摨婜梫媮偺姰椆
	 *
	 * @param[in]		aRequest	僒乕價僗幚峴僀儞僗僞儞僗偺億僀儞僞
	 */
	void RequestComplete(CSmbMusicAPMainPlayerFilterSyncServerProcess* aRequest);

	/**
	 * 旕摨婜梫媮僉儍儞僙儖(慡僉儍儞僙儖)
	 *
	 * @param[in]		aNotify		梫媮尦偵僉儍儞僙儖捠抦傪峴偆偐偳偆偐
	 */
	void CancelAllRequest(TBool aNotify = ETrue);

	/**
	 * 旕摨婜梫媮僉儍儞僙儖
	 *
	 * @param[in]		aId			梫媮ID
	 * @param[in]		aNotify		梫媮尦偵僉儍儞僙儖捠抦傪峴偆偐偳偆偐
	 * @return						張棟寢壥(KErrNone:惓忢廔椆 KErrNotFound:奩摉梫媮柍偟)
	 */
	TInt CancelRequest(TInt aId, TBool aNotify = ETrue);

	/**
	 * 僒乕價僗忬懺傪庢摼偡傞
	 *
	 * @return			僒乕價僗幚峴拞偐偳偆偐(ETrue:幚峴拞丄EFalse:幚峴拞偱側偄)
	 */
	TBool InService();

	/**
	 * 梫媮尦ID傪庢摼偡傞
	 *
	 * @return			梫媮尦ID
	 */
	TInt Id(){return iId;};


	/**
	 * 廔椆張棟奐巒
	 */
	void StartAppExit(){iController.StartAppExit();};

private:

	/**
	 * 梫媮偺桪愭搙傪庢摼偡傞
	 * @param[in]		aRequest	梫媮庬暿
	 * @return						桪愭搙
	 */
	TRequestPriority GetProcessPriority(TSmbMusicAPMainPlayerRequest aKind);


private:

	TInt														iId;			// 幆暿巕
	CSmbMusicAPMainPlayerFilterSyncServerController&			iController;	// 摨婜僄儞僕儞僐儞僩儘乕儖僋儔僗偺嶲徠
	CSmbMusicAPSyncEngine& 										iEngine;		// 摨婜僄儞僕儞
	CSmbMusicAPLibImageFunc&									iImageFunc;		// 夋憸曄姺僋儔僗偺嶲徠
	
	RPointerArray<CSmbMusicAPMainPlayerFilterSyncServerProcess>	iRequests;		// 僒乕價僗幚峴慜偺僀儞僗僞儞僗偺億僀儞僞攝楍
	CSmbMusicAPMainPlayerFilterSyncServerProcess*				iTrash;			// 僒乕價僗幚峴屻偺僀儞僗僞儞僗偺億僀儞僞攝楍乮嶍彍懸偪)
// Add-S PTX-824 暯壀
	DCM_NAMESPACE::RLog& 										iLog;			///< 儘僌弌椡僋儔僀傾儞僩(uses)
// Add-E PTX-824 暯壀
	};
	
SEMCJ_NAMESPACE_END

#endif // __SMBMUSICAPMAINPLAYERSYNCSERVERCONTROLLER_H__

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

⌨️ 快捷键说明

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