📄 smbmusicapsyncservercontentsservicesearchfromlist.h
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerContentsServiceSearchFromList.h
//
// Description:
// PTX810 Music傾僾儕 摨婜僒乕僶 僐儞僥儞僣僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+---------------+--------------------------------------
//2006/06/15 |SDNA 壀嶳 |怴婯嶌惉
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICESEARCHFROMLIST_H__
#define __SMBMUSICAPSYNCSERVERCONTENTSSERVICESEARCHFROMLIST_H__
#ifndef __SMBCOMMONDEF_H__
#include <SmbCommonDef.h>
#endif
#ifndef __SMBMUSICMWLIBCLIENT_H__
#include <SmbMusicMWLibClient.h>
#endif
#ifndef __SMBMUSICMWLIBCLIENT_H__
#include <SmbMusicAPSyncEngineDef.h>
#endif
#ifndef __SMBMUSICMWLIBCLIENT_H__
#include <SmbMusicAPSyncServerDef.h>
#endif
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICEBASE_H__
#include "SmbMusicAPSyncServerContentsServiceBase.h"
#endif
DCM_NAMESPACE_BEGIN
class RLog;
DCM_NAMESPACE_END
SEMCJ_NAMESPACE_BEGIN
class CSmbMusicAPSyncServerModel;
class CSmbMusicAPSyncServerContentsFunc;
class MSmbMusicAPSyncServerContentsAsyncObserver;
class MSmbMusicAPSyncServerContentsManagerInterface;
class CSmbMusicAPSyncServerContentsList;
class CSmbMusicAPSyncServerContentsScreenTraceManager;
/**
* Music傾僾儕 摨婜僒乕僶 僐儞僥儞僣偺僒乕價僗僋儔僗
* 乮儕僗僩偐傜僼傿儖僞儕儞僌傪峴偭偨儕僗僩傪庢摼偡傞僒乕價僗乯
*
*/
class CSmbMusicAPSyncServerContentsServiceSearchFromList : public CSmbMusicAPSyncServerContentsServiceBase
{
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偺億僀儞僞
* @return 側偟
*/
CSmbMusicAPSyncServerContentsServiceSearchFromList( DCM_NAMESPACE::RLog& aRlog,
CSmbMusicAPSyncServerModel& aModel,
MSmbMusicAPSyncServerContentsAsyncObserver& aObserver,
CSmbMusicAPSyncServerContentsFunc& aFunc,
MSmbMusicAPSyncServerContentsManagerInterface& aManagerInterface,
CSmbMusicAPSyncServerContentsScreenTraceManager& aScreenData,
const RMessage2& aRMessage);
/**
僨僗僩儔僋僞
* @param 側偟
* @return 側偟
*/
~CSmbMusicAPSyncServerContentsServiceSearchFromList();
/**
僒乕價僗傪奐巒偡傞
* @param 側偟
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState StartServiceL();
/**
巜掕僀儀儞僩偵傛傝僉儍儞僙儖偝傟傞偐偳偆偐傪敾抐偡傞
* @param [in] aCancelEvent 僉儍儞僙儖僀儀儞僩
* @return 僉儍儞僙儖懳徾偐偳偆偐乮ETrue:僉儍儞僙儖懳徾丄EFalse丗僉儍儞僙儖旕懳徾乯
*/
TBool CheckCancel(TSmbMusicAPSyncServerFunction aCancelEvent);
/**
旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞
* @param 側偟
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState ContinueServiceL();
/**
旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞(儊僞儕僗僩 傾僀僥儉懸偪忬懺)
* @param 側偟
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState ContinueServiceWaitItemMetaL();
/**
旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞(嬋儕僗僩 傾僀僥儉懸偪忬懺)
* @param 側偟
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState ContinueServiceWaitItemSongL();
/**
旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞(僾儗僀儕僗僩 嬋傾僀僥儉懸偪忬懺)
* @param 側偟
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState ContinueServiceWaitItemPLSongL();
/**
旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞(儊僞儕僗僩or嬋儕僗僩 儕僗僩懸偪忬懺)
* @param 側偟
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState ContinueServiceWaitListMetaAndSongL();
/**
旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞(僾儗僀儕僗僩 嬋儕僗僩懸偪忬懺)
* @param 側偟
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState ContinueServiceWaitListPLSongL();
/**
旕摨婜墳摎僄儔乕偺張棟傪峴偆
* @param [in] aError 僄儔乕僐乕僪
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState ServiceErr(TInt aError);
/**
僒乕價僗偺僉儍儞僙儖張棟傪峴偆
* @param 側偟
* @return 側偟
*/
void CancelService();
private:
/**
僷儔儊乕僞傪撉傒崬傓
* @param 側偟
* @return 僷儔儊乕僞偺惓忢惈
*/
TBool LoadParam();
/**
儕僗僩傪嶌惉偡傞
* @param 側偟
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState CreateListL();
/**
儊僞儕僗僩傪嶌惉偡傞
* @param [in] aPrevList 堦偮慜偵側傞僐儞僥儞僣儕僗僩僋儔僗偺嶲徠
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState CreateMetaListL(CSmbMusicAPSyncServerContentsList& aPrevList);
/**
嬋儕僗僩傪嶌惉偡傞
* @param [in] aPrevList 堦偮慜偵側傞僐儞僥儞僣儕僗僩僋儔僗偺嶲徠
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState CreateSongListL(CSmbMusicAPSyncServerContentsList& aPrevList);
/**
PL儕僗僩傪嶌惉偡傞
* @param [in] aList 僐儞僥儞僣儕僗僩僋儔僗偺嶲徠
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState CreatePLSongList(CSmbMusicMWLibMusicItem* aList);
/**
慡嬋儕僗僩傪嶌惉偡傞
* @param [in] aPrevList 堦偮慜偵側傞僐儞僥儞僣儕僗僩僋儔僗偺嶲徠
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState CreateAllSongListL(CSmbMusicAPSyncServerContentsList& aPrevList);
/**
僒乕價僗傪惓忢偵姰椆偡傞
* @param [in] aListInfo 墳摎偵昁梫側忣曬
* @return 側偟
*/
void Complete(TSmbMusicAPSyncEngineListInfo aListInfo);
/**
僒乕價僗傪僄儔乕偱姰椆偡傞
* @param [in] aResult 僒乕價僗廔椆帪偺寢壥
* @return 側偟
*/
void CompleteErr(TInt aResult = KErrServiceFailure);
/**
専嶕忦審傪嶌惉偡傞
* @param [in,out] aSearchConditionArray 専嶕忦審攝楍偺嶲徠
* @param [in] aColumn 専嶕忦審庬暿
* @return 側偟
*/
void MakeConditionInfoL( CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>& aSearchConditionArray,
TSmbMusicMWLibColumn aColumn);
/**
専嶕忦審傪嶌惉偡傞
* @param [in,out] aSearchConditionArray 専嶕忦審攝楍偺嶲徠
* @param [in] aColumn 専嶕忦審庬暿
* @param [in] aMatchOption 暥帤楍堦抳忦審
* @param [in] aDispString 専嶕暥帤楍
* @return 側偟
*/
void MakeConditionInfoL( CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>& aSearchConditionArray,
TSmbMusicMWLibColumn aColumn,
TSmbMusicMWLibMatchOption aMatchOption,
const TDesC& aDispString);
/**
僜乕僩忦審傪嶌惉偡傞
* @param [in,out] aSortConditionArray 僜乕僩忦審攝楍偺嶲徠
* @param [in] aColumn 僜乕僩忦審庬暿
* @param [in] iOrder 僜乕僩弴巜掕
* @return 側偟
*/
void MakeSortInfoL( CArrayFixFlat<TSmbMusicMWLibSortConditionInfo>& aSortConditionArray,
TSmbMusicMWLibColumn aColumn,
TBool aOrder);
/**
専嶕忣曬傪嶌惉偡傞
* @param [in,out] aSearchInfo 専嶕忣曬偺嶲徠
* @param [in] aSearchConditionArray 専嶕忦審攝楍偺億僀儞僞
* @param [in] aSortConditionArray 僜乕僩忦審攝楍偺億僀儞僞
* @return 嶌惉偺惉斲
*/
TBool MakeSearchInfo(CSmbMusicMWLibSearchInfo& aSearchInfo,
CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>* aSearchConditionArray,
CArrayFixFlat<TSmbMusicMWLibSortConditionInfo>* aSortConditionArray);
private:
/**
僒乕價僗忬懺
乮儕僗僩偐傜僼傿儖僞儕儞僌傪峴偭偨儕僗僩傪庢摼偡傞僒乕價僗乯
*/
enum TSmbMusicAPSyncServerContentsServiceSearchFromListState
{
ESmbMusicAPSyncServerContentsServiceSearchFromListState_Init, // 僒乕價僗弶婜忬懺
ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitList_Meta, // 僒乕價僗儊僞儕僗僩庢摼懸偪忬懺
ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitList_Song, // 僒乕價僗嬋儕僗僩庢摼懸偪忬懺
ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitList_PLSong, // 僒乕價僗PL嬋儕僗僩庢摼懸偪忬懺
ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitItem_Meta, // 僒乕價僗儊僞傾僀僥儉庢摼懸偪忬懺
ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitItem_Song, // 僒乕價僗嬋傾僀僥儉庢摼懸偪忬懺
ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitItem_PLSong, // 僒乕價僗PL嬋傾僀僥儉庢摼懸偪忬懺
ESmbMusicAPSyncServerContentsServiceSearchFromListState_End, // 僒乕價僗廔椆忬懺
};
/**
僐儞僨傿僔儑儞攝楍偺棻搙
*/
enum
{
KConditionArrayGranularity = 5
};
TInt iParamListHandle; // 儕僗僩僴儞僪儖乮RMessage傛傝庢摼乯
TInt iParamIndex; // 僀儞僨僢僋僗乮RMessage傛傝庢摼乯
TSmbMusicAPSyncEngineListSearchCondition iParamCondition; // 専嶕忦審乮RMessage傛傝庢摼乯
TSmbMusicAPSyncEngineRequestListType iParamListType; // 儕僗僩庬暿乮RMessage傛傝庢摼乯
TSmbMusicAPSyncServerContentsServiceSearchFromListState iServiceState; // 僒乕價僗偺忬懺
CSmbMusicAPSyncServerContentsList* iPrevList; // 庢摼偟偨堦偮慜偺儕僗僩偺嶲徠
TSmbMusicAPSyncEngineListType iReqListType; // 儕僗僩庬暿乮摨婜僄儞僕儞掕媊乯
TBuf<KSmMaxTitleLength> iDispString; // 昞帵暥帤楍
CSmbMusicMWLibListItem* iTempListItem; // 惗惉偟偨儕僗僩傾僀僥儉
CSmbMusicMWLibItemArray* iTempArray; // 惗惉偟偨傾僀僥儉攝楍
CSmbMusicMWLibSearchInfo* iTempSearchInfo; // 惗惉偟偨専嶕忣曬
CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>* iTempSearchCondition; // 惗惉偟偨専嶕忦審
CArrayFixFlat<TSmbMusicMWLibSortConditionInfo>* iTempSortCondition; // 惗惉偟偨僜乕僩忦審
};
SEMCJ_NAMESPACE_END
#endif //__SMBMUSICAPSYNCSERVERCONTENTSSERVICESEARCHFROMLIST_H__
// end of SmbMusicAPSyncServerContentsServiceSearchFromList.h
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -