📄 smbmusicapsyncservercontentsservicegetitemfromlist.h
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerContentsServiceGetItemFromList.h
//
// Description:
// PTX810 Music傾僾儕 摨婜僒乕僶 僐儞僥儞僣僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+---------------+--------------------------------------
//2006/06/16 |SDNA 壀嶳 | 怴婯嶌惉
//2006/08/03 |SDNA 壀嶳 | 墳摎梡偺傾僀僥儉忣曬偺庢摼張棟傪曄峏
//----PTX824----+---------------+--------------------------------------
//2007/03/30 |K3悪杮 | PTX824懳墳(嵞惗惂尷忣曬晅壛)
//2007/06/29 |K3悪杮 | 婜尷愗傟僒僽僗僋儕僾僔儑儞偺僌儗乕傾僂僩懳墳
//2007/07/06 |K3悪杮 | 尃棙忣曬偺側偄嬋偺僌儗乕傾僂僩懳墳
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICEGETITEMFROMLIST_H__
#define __SMBMUSICAPSYNCSERVERCONTENTSSERVICEGETITEMFROMLIST_H__
#ifndef __SMBCOMMONDEF_H__
#include <SmbCommonDef.h>
#endif
#ifndef __SMBMUSICMWLIBCLIENT_H__
#include <SmbMusicMWLibClient.h>
#endif
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSCREENTRACEMANAGER_H__
#include "SmbMusicAPSyncServerContentsScreenTraceManager.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICEBASE_H__
#include "SmbMusicAPSyncServerContentsServiceBase.h"
#endif
DCM_NAMESPACE_BEGIN
class RLog;
DCM_NAMESPACE_END
SEMCJ_NAMESPACE_BEGIN
class CSmbMusicAPSyncServerContentsList;
/** 1搙偵庢摼偱偒傞傾僀僥儉偺悢 **/
const TInt KMaxItemCountByOneTime = 50;
// ADD-S 尃棙忣曬偺側偄嬋偺僌儗乕傾僂僩懳墳
/**
* 僒僽僗僋儕僾僔儑儞僐儞僥儞僣偺嵞惗惂尷忬懺敾掕寢壥
**/
enum TSmbMusicAPSyncServerContentsServiceGetItemFromListJudgeResult
{
ESmbMusicAPSyncServerContentsServiceGetItemFromListResultNoLimit, ///< 惂尷側偟
ESmbMusicAPSyncServerContentsServiceGetItemFromListResultPeriodOver, ///< 婜尷愗傟
ESmbMusicAPSyncServerContentsServiceGetItemFromListResultNoCpInfo, ///< 尃棙忣曬側偟
};
// ADD-E 尃棙忣曬偺側偄嬋偺僌儗乕傾僂僩懳墳
/**
* Music傾僾儕 摨婜僒乕僶 僐儞僥儞僣偺僒乕價僗僋儔僗
* (儕僗僩偺傾僀僥儉忣曬傪庢摼偡傞僒乕價僗)
**/
class CSmbMusicAPSyncServerContentsServiceGetItemFromList : public CSmbMusicAPSyncServerContentsServiceBase
{
private:
/**
* 僒乕價僗忬懺(儕僗僩偺傾僀僥儉忣曬傪庢摼偡傞僒乕價僗)
**/
enum TSmbMusicAPSyncServerContentsServiceGetItemFromListState
{
ESmbMusicAPSyncServerContentsServiceGetItemFromListState_Init, // 僒乕價僗弶婜忬懺
ESmbMusicAPSyncServerContentsServiceGetItemFromListState_WaitItem, // 僒乕價僗傾僀僥儉庢摼懸偪忬懺
ESmbMusicAPSyncServerContentsServiceGetItemFromListState_WaitLimitation, // 僒乕價僗惂尷忣曬庢摼懸偪忬懺
ESmbMusicAPSyncServerContentsServiceGetItemFromListState_End, // 僒乕價僗廔椆忬懺
};
public:
/**
* 僐儞僗僩儔僋僞
* @param [in] aRlog RLog偺嶲徠
* @param [in] aModel 儌僨儖僋儔僗偺嶲徠
* @param [in] aObserver 僒乕價僗姰椆捠抦愭僋儔僗偺嶲徠
* @param [in] aFunc 僐儞僥儞僣僼傽儞僋儔僗偺嶲徠
* @param [in] aManagerInterface 奺儅僱乕僕儍傪娗棟偡傞僋儔僗偺嶲徠
* @param [in] aScreenData 夋柺慗堏僨乕僞娗棟僋儔僗偺嶲徠
* @param [in,out] aRMessage RMessage偺億僀儞僞
**/
CSmbMusicAPSyncServerContentsServiceGetItemFromList(
DCM_NAMESPACE::RLog& aRlog,
CSmbMusicAPSyncServerModel& aModel,
MSmbMusicAPSyncServerContentsAsyncObserver& aObserver,
CSmbMusicAPSyncServerContentsFunc& aFunc,
MSmbMusicAPSyncServerContentsManagerInterface& aManagerInterface,
CSmbMusicAPSyncServerContentsScreenTraceManager& aScreenData,
const RMessage2& aRMessage
);
/**
* 僨僗僩儔僋僞
**/
~CSmbMusicAPSyncServerContentsServiceGetItemFromList();
/**
* 僒乕價僗傪奐巒偡傞
* @return 僒乕價僗張棟忬懺
**/
TSmbMusicAPSyncServerContentsServiceState StartServiceL();
/**
* 旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞
* @return 僒乕價僗張棟忬懺
**/
TSmbMusicAPSyncServerContentsServiceState ContinueServiceL();
/**
* 旕摨婜墳摎僄儔乕偺張棟傪峴偆
* @param[in] aError 僄儔乕僐乕僪
* @return 僒乕價僗張棟忬懺
**/
TSmbMusicAPSyncServerContentsServiceState ServiceErr(TInt aError);
/**
* 僒乕價僗偺僉儍儞僙儖張棟傪峴偆
**/
void CancelService();
private:
/**
* 僷儔儊乕僞傪撉傒崬傓
* @return 僷儔儊乕僞偺惓忢惈
**/
TBool LoadParam();
/**
* 傾僀僥儉傪惗惉偡傞
* @return 僒乕價僗張棟忬懺
**/
TSmbMusicAPSyncServerContentsServiceState CreateItemsL();
/**
* 傾僀僥儉偺忣曬傪庢摼偡傞
* @return 僒乕價僗張棟忬懺
**/
TSmbMusicAPSyncServerContentsServiceState GetItemInfoL();
/**
* 庢摼偟偨傾僀僥儉傪儕僗僩偵搊榐偡傞(嬋傾僀僥儉)
* @param[in] aIndex 搊榐偡傞僀儞僨僢僋僗
* @return 搊榐偺惉斲
**/
TBool SetSongItemL(TInt aIndex);
/**
* 庢摼偟偨傾僀僥儉傪儕僗僩偵搊榐偡傞(Meta傾僀僥儉)
* @param[in] aIndex 搊榐偡傞僀儞僨僢僋僗
* @return 搊榐偺惉斲
**/
TBool SetMetaItemL(TInt aIndex);
/**
* 墳摎僨乕僞傪嶌惉偡傞
* @param[in] aIndex 僀儞僨僢僋僗(MWLib忋偺Index)
* @param[in] aDispString 昞帵暥帤楍
* @param[in] aAvailable 傾僀僥儉偺棙梡壜斲忣曬(僨僼僅儖僩:棙梡壜擻)
* @param[in] aLimitatioin 嵞惗惂尷忣曬(僨僼僅儖僩:惂尷柍偟)
*/
// MODIFY-S PTX824 k3-sugimoto
void MakeResponseData(
TInt aIndex,
const TDesC& aDispString,
TInt aAvailable = ESmbMusicAPSyncEngineOK,
TSmbMusicAPSyncEngineLimitation aLimitatioin = ESmbMusicAPSyncEngineLimitNone
);
// MODIFY-E PTX824 k3-sugimoto
/**
* 僒乕價僗傪惓忢偵姰椆偡傞
**/
void Complete();
/**
* 僒乕價僗傪僄儔乕偱姰椆偡傞
* @param[in] aResult 僒乕價僗廔椆帪偺寢壥
**/
void CompleteErr(TInt aResult = KErrServiceFailure);
// ADD-S 婜尷愗傟僒僽僗僋儕僾僔儑儞偺僌儗乕傾僂僩懳墳
/**
* 嵞惗惂尷忣曬庢摼梡偺傾僀僥儉攝楍偺弶婜壔
**/
void ClearLimitationArray();
/**
* 嵞惗惂尷忣曬庢摼
* @return 僒乕價僗張棟忬懺
**/
TSmbMusicAPSyncServerContentsServiceState GetLimitInformation();
// MODIFY-S 尃棙忣曬偺側偄嬋偺僌儗乕傾僂僩懳墳
/**
* 僒僽僗僋儕僾僔儑儞僐儞僥儞僣偺嵞惗婜尷忬懺偺敾掕
* @param[in] aSongLimit 敾掕傪峴偆偨傔偺嵞惗惂尷忣曬
* @return 嵞惗婜尷忬懺敾掕寢壥
**/
TSmbMusicAPSyncServerContentsServiceGetItemFromListJudgeResult JudgeLimitCondition(
TSmbMusicMWLibSongLimit aSongLimit
);
// MODIFY-E 尃棙忣曬偺側偄嬋偺僌儗乕傾僂僩懳墳
/**
* 嵞惗惂尷忣曬峏怴
* @return 僒乕價僗張棟忬懺
**/
TSmbMusicAPSyncServerContentsServiceState UpdateSongLimit();
// ADD-E 婜尷愗傟僒僽僗僋儕僾僔儑儞偺僌儗乕傾僂僩懳墳
private:
// ADD-S 婜尷愗傟僒僽僗僋儕僾僔儑儞偺僌儗乕傾僂僩懳墳
/**
* 嵞惗惂尷忣曬庢摼偺昁梫側嬋傾僀僥儉曐帩梡峔憿懱
**/
struct TLimitationItem {
TInt iIndex; ///< 儕僗僩撪偱偺傾僀僥儉偺僀儞僨僢僋僗
CSmbMusicMWLibSongItem* iSongItem; ///< MW偐傜庢摼偟偨傾僀僥儉[has]
};
// ADD-E 婜尷愗傟僒僽僗僋儕僾僔儑儞偺僌儗乕傾僂僩懳墳
CSmbMusicAPSyncServerContentsList* iList; ///< 儕僗僩偺嶲徠[use]
CSmbMusicMWLibMusicItem* iTempItem; ///< 惗惉偟偨傾僀僥儉[has]
CSmbMusicMWLibItemArray* iTempItemArray; ///< 惗惉偟偨傾僀僥儉攝楍[has]
TSmbMusicAPSyncServerContentsServiceGetItemFromListState iServiceState; ///< 僒乕價僗偺忬懺
TInt iParamListHandle; ///< 儕僗僩僴儞僪儖(RMessage傛傝庢摼)
TInt iParamIndex; ///< 僀儞僨僢僋僗(RMessage傛傝庢摼)
TInt iParamCount; ///< 庢摼傾僀僥儉悢(RMessage傛傝庢摼)
TInt iGetItemsTopIndex; ///< 儔僀僽儔儕MW偵庢摼傪梫媮偟偨傾僀僥儉偺愭摢僀儞僨僢僋僗
TInt iGetItemsCount; ///< 儔僀僽儔儕MW偵庢摼傪梫媮偟偨傾僀僥儉偺悢
TSmbMusicAPSyncEngineListItemInfo iResponseArray[KMaxItemCountByOneTime]; ///< 墳摎梡僶僢僼傽
// ADD-S 婜尷愗傟僒僽僗僋儕僾僔儑儞偺僌儗乕傾僂僩懳墳
RPointerArray<TLimitationItem> iLimitationArray; ///< 嵞惗惂尷忣曬庢摼梡偺傾僀僥儉偺攝楍
CSmbMusicMWLibSongItem* iLimitationItem; ///< 惂尷忣曬庢摼拞偺傾僀僥儉[use]
TSmbMusicMWLibSongLimit iSongLimit; ///< 惂尷忣曬
// ADD-E 婜尷愗傟僒僽僗僋儕僾僔儑儞偺僌儗乕傾僂僩懳墳
};
SEMCJ_NAMESPACE_END
#endif //__SMBMUSICAPSYNCSERVERCONTENTSSERVICEGETITEMFROMLIST_H__
// end of SmbMusicAPSyncServerContentsServiceGetItemFromList.h
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -