📄 smbmusicapsyncservercontentslist.h
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerContentsList.h
//
// Description:
// PTX810 Music傾僾儕 摨婜僒乕僶 僐儞僥儞僣僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+---------------+--------------------------------------
//2006/06/08 |SDNA 壀嶳 | 怴婯嶌惉
//----PTX824----+---------------+--------------------------------------
//2007/06/20 |K3悪杮 | PTX824懳墳
//2007/06/29 |K3悪杮 | 婜尷愗傟僒僽僗僋儕僾僔儑儞僌儗乕昞帵懳墳
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSLIST_H__
#define __SMBMUSICAPSYNCSERVERCONTENTSLIST_H__
#ifndef __SMBCOMMONDEF_H__
#include <SmbCommonDef.h>
#endif
#ifndef __SMBMUSICMWLIBCLIENT_H__
#include <SmbMusicMWLibClient.h>
#endif
#ifndef __SMBMUSICAPSYNCENGINEDEF_H__
#include <SmbMusicAPSyncEngineDef.h>
#endif
DCM_NAMESPACE_BEGIN
class RLog;
DCM_NAMESPACE_END
SEMCJ_NAMESPACE_BEGIN
class CSmbMusicAPSyncServerContentsItem;
/**
* Music傾僾儕 摨婜僒乕僶 僐儞僥儞僣偺儕僗僩僋儔僗
*/
class CSmbMusicAPSyncServerContentsList : public CBase
{
public:
/**
* 僨僗僩儔僋僞
**/
~CSmbMusicAPSyncServerContentsList();
/**
* 儕僗僩庬暿傪庢摼偡傞
* @return 儕僗僩庬暿乮摨婜僄儞僕儞掕媊乯
**/
TSmbMusicAPSyncEngineListType GetListType();
/**
* 傾僀僥儉傪庢摼偡傞
* @param[in] aIndex 堦棗撪偱偺僀儞僨僢僋僗
* @return 傾僀僥儉僋儔僗偺億僀儞僞(強桳尃傪堏忳偟側偄)
**/
CSmbMusicAPSyncServerContentsItem* GetItem(TInt aIndex);
/**
* 傾僀僥儉傪曐懚偡傞
* @param[in] aIndex 堦棗偱偺僀儞僨僢僋僗
* @param[in] aDispString 昞帵梡暥帤楍
* @param[in] aAvailable 傾僀僥儉偺棙梡壜斲忣曬(僨僼僅儖僩:棙梡壜)
* @param[in] aLimitatioin 嵞惗惂尷忣曬(僨僼僅儖僩:嵞惗惂尷側偟)
*/
void SetItem(
TInt aIndex,
const TDesC& aDispString,
TInt aAvailable = ESmbMusicAPSyncEngineOK,
TSmbMusicAPSyncEngineLimitation aLimitatioin = ESmbMusicAPSyncEngineLimitNone
);
/**
* 傾僀僥儉傪惗惉偡傞
* @param[in] aArray 儔僀僽儔儕MW偑掕媊偡傞
* @param[in] aIndex 惗惉偡傞傾僀僥儉偺愭摢偺僀儞僨僢僋僗
* @param[in] aCount 惗惉偡傞傾僀僥儉偺悢
* @param[in,out] aStatus 僗僥乕僞僗
* @return 儔僀僽儔儕MW偐傜偺栠傝抣
**/
TInt CreateNewItem(CSmbMusicMWLibItemArray& aArray, TInt aIndex, TInt aCount, TRequestStatus& aStatus);
/**
* 専嶕忦審傪庢摼偡傞
* @param[out] aConditionArray 専嶕忣曬僋儔僗偺攝楍
* @return 庢摼偺惉斲
**/
virtual TBool GetSearchCondition(CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>& aConditionArray);
/**
* 傾僀僥儉僋儔僗傪強帩(僉儍僢僔儏)偟偰偄傞偐傪挷傋傞
* @param[in] aIndex 堦棗撪偱偺僀儞僨僢僋僗
* @return ETrue:僉儍僢僔儏桳/EFalse:僉儍僢僔儏柍
**/
TBool CheckItemCache(TInt aIndex);
/**
* 傾僀僥儉惗惉偺僉儍儞僙儖傪峴偆
**/
void CancelCreateNewItem();
/**
* 儕僗僩僴儞僪儖傪庢摼偡傞
* @return 儕僗僩僴儞僪儖
**/
TInt GetListHandle();
/**
* 嶲徠悢傪僇僂儞僩傾僢僾偡傞
* @return 僇僂儞僩傾僢僾屻偺嶲徠悢
**/
TInt RefarenceCountUp();
/**
* 嶲徠悢傪僇僂儞僩僟僂儞偡傞
* @return 僇僂儞僩僟僂儞屻偺嶲徠悢
**/
TInt RefarenceCountDown();
/**
* 強帩偟偰偄傞傾僀僥儉忣曬傪慡偰嶍彍偡傞
**/
void DeleteAllItem();
/**
* 儕僗僩撪偵娷傑傟傞傾僀僥儉偺憤悢傪庢摼偡傞
* @return 傾僀僥儉悢
**/
TInt GetItemCount();
/**
* 儔僀僽儔儕MW偐傜庢摼偟偨儕僗僩僋儔僗傪庢摼偡傞
* @return 儔僀僽儔儕MW偐傜庢摼偟偨儕僗僩僋儔僗偺嶲徠
**/
CSmbMusicMWLibListItem& GetListItem();
/**
* 昞帵暥帤楍傪庢摼偡傞
* @param[in] aDispInfo 昞帵暥帤楍
**/
virtual void GetDispInfo(TDes& aDispString);
/**
* 傾僀僥儉偺搊榐傪夝彍偡傞(儔僀僽儔儕MW偺儔僢僺儞僌娭悢)
* @param[in] aIndexArray 夝彍偡傞傾僀僥儉偺僀儞僨僢僋僗攝楍
* @param[in,out] aStatus 旕摨婜僗僥乕僞僗
* @return 張棟寢壥
**/
virtual TInt RemoveItem(CArrayFixFlat<TInt>& aIndexArray, TRequestStatus& aStatus);
/**
* 傾僀僥儉偺搊榐傪夝彍偡傞(儔僀僽儔儕MW偺儔僢僺儞僌娭悢)
* @param[out] aStatus 旕摨婜僗僥乕僞僗
* @return 儔僀僽儔儕MW偐傜偺栠傝抣
**/
virtual TInt RemoveItem(TRequestStatus& aStatus);
/**
* 傾僀僥儉偺搊榐夝彍傪僉儍儞僙儖偡傞(儔僀僽儔儕MW偺儔僢僺儞僌娭悢)
**/
virtual void CancelRemoveItem();
/**
* 専嶕忦審偑堦抳偟偰偄傞偐傪僠僃僢僋偡傞
* @param[in] aSearchListType 専嶕偵偍偗傞儕僗僩庬暿
* @param[in] aListSearchCondition 専嶕偵偍偗傞忦審
* @return 堦抳忬嫷(ETrue丗堦抳丄EFalse丗晄堦抳)
**/
virtual TBool CheckSearchInfo(
TSmbMusicAPSyncEngineRequestListType aSearchListType,
TSmbMusicAPSyncEngineListSearchCondition aListSearchCondition
);
/**
* 専嶕忦審偑堦抳偟偰偄傞偐傪僠僃僢僋偡傞
* @param[in] aSearchListType 専嶕偵偍偗傞儕僗僩庬暿
* @param[in] aSearchCondition 専嶕偵偍偗傞忦審
* @return 堦抳忬嫷(ETrue丗堦抳丄EFalse丗晄堦抳)
*/
virtual TBool CheckSearchInfo(
TSmbMusicAPSyncEngineRequestListType aSearchListType,
TSmbMusicAPSyncEngineSearchCondition aSearchCondition
);
/**
* 専嶕偵偍偗傞忦審(Top梡)傪庢摼偡傞
* @param[in] aSearchCondition 専嶕偵偍偗傞忦審(Top梡)偺嶲徠
* @return 庢摼偺惉斲
**/
virtual TBool GetSearchTopCondition(TSmbMusicAPSyncEngineSearchCondition& aSearchCondition);
// ADD-S 婜尷愗傟僒僽僗僋儕僾僔儑儞僌儗乕昞帵懳墳
/**
* 巜掕偟偨僀儞僨僢僋僗偱偁傞僉儍僢僔儏傪攋婞偡傞
* @param[in] aIndex 儕僗僩撪偵偍偗傞僀儞僨僢僋僗
**/
void DeleteCacheItem(TInt aIndex);
// ADD-E 婜尷愗傟僒僽僗僋儕僾僔儑儞僌儗乕昞帵懳墳
protected:
/**
* 僐儞僗僩儔僋僞
* @param[in] aLog RLog偺嶲徠
* @param[in] aListHandle 儕僗僩僴儞僪儖
* @param[in] aListItem 儔僀僽儔儕MW偐傜庢摼偟偨儕僗僩偺億僀儞僞
* @param[in] aListType 儕僗僩庬暿乮摨婜僄儞僕儞掕媊乯
* @param[in] aSearchListType 専嶕偵偍偗傞儕僗僩庬暿
* @param[in] aSearchCondition 専嶕偵偍偗傞忦審
**/
CSmbMusicAPSyncServerContentsList(
DCM_NAMESPACE::RLog& aLog,
TInt aListHandle,
CSmbMusicMWLibListItem* aListItem,
TSmbMusicAPSyncEngineListType aListType,
TSmbMusicAPSyncEngineRequestListType aSearchListType,
TSmbMusicAPSyncEngineSearchCondition aSearchCondition
);
/**
* 僐儞僗僩儔僋僞
* @param[in] aLog RLog偺嶲徠
* @param[in] aListHandle 儕僗僩僴儞僪儖
* @param[in] aListItem 儔僀僽儔儕MW偐傜庢摼偟偨儕僗僩偺億僀儞僞
* @param[in] aListType 儕僗僩庬暿乮摨婜僄儞僕儞掕媊乯
* @param[in] aSearchListType 専嶕偵偍偗傞儕僗僩庬暿
* @param[in] aListSearchCondition 専嶕偵偍偗傞忦審
**/
CSmbMusicAPSyncServerContentsList(
DCM_NAMESPACE::RLog& aLog,
TInt aListHandle,
CSmbMusicMWLibListItem* aListItem,
TSmbMusicAPSyncEngineListType aListType,
TSmbMusicAPSyncEngineRequestListType aSearchListType,
TSmbMusicAPSyncEngineListSearchCondition aListSearchCondition
);
private:
/**
* 傾僀僥儉攝楍偐傜堦棗撪偱偺Index偺傾僀僥儉傪扵偡
* @param[in] aIndex 堦棗撪偱偺僀儞僨僢僋僗
* @param[out] aArrayIndex 傾僀僥儉攝楍撪偱偺僀儞僨僢僋僗
* @return ETrue:僉儍僢僔儏桳/EFalse:僉儍僢僔儏柍
*/
TBool SearchItem(TInt aIndex, TInt& aArrayIndex);
/**
* 傾僀僥儉傪嶍彍偡傞
* @param[in] aArrayIndex 傾僀僥儉攝楍忋偺僀儞僨僢僋僗
**/
void DeleteItem(TInt aArrayIndex);
/**
* 傾僀僥儉強帩壜擻側嵟戝悢傪庢摼偡傞
* @return 嵟戝悢
**/
virtual TInt GetMaxItemCount() = 0;
protected:
DCM_NAMESPACE::RLog& iLog; ///< RLog偺嶲徠
TInt iListHandle; ///< 儕僗僩僴儞僪儖
CSmbMusicMWLibListItem* iListItem; ///< 儔僀僽儔儕MW偐傜庢摼偟偨儕僗僩偺億僀儞僞
TSmbMusicAPSyncEngineListType iListType; ///< 儕僗僩庬暿乮摨婜僄儞僕儞掕媊乯
TSmbMusicAPSyncEngineRequestListType iSearchListType; ///< 専嶕偵偍偗傞儕僗僩庬暿
TSmbMusicAPSyncEngineSearchCondition iSearchCondition; ///< 専嶕偵偍偗傞忦審(TopList梡)
TSmbMusicAPSyncEngineListSearchCondition iListSearchCondition; ///< 専嶕偵偍偗傞忦審(List梡)
HBufC* iDispString; ///< 昞帵暥帤楍
RArray<TSmbMusicMWLibSearchConditionInfo> iConditionArray; ///< 儔僀僽儔儕MW梡偺専嶕忦審偺攝楍
RPointerArray<CSmbMusicAPSyncServerContentsItem> iItems; ///< 傾僀僥儉僋儔僗偺攝楍
TInt iReferenceCount; ///< 儕僗僩僋儔僗傪強桳偟偰偄傞僋儔僗偺悢
};
SEMCJ_NAMESPACE_END
#endif //__SMBMUSICAPSYNCSERVERCONTENTSLIST_H__
// end of SmbMusicAPSyncServerContentsList.h
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -