📄 smbmusicapmainplayerfiltersyncservercontroller.h
字号:
* 嵞惗儌乕僪愝掕
*
* @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 + -