📄 smbmusicapsyncservercontentsservicesearchfromtop.cpp
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerContentsServiceSearchFromTop.cpp
//
// Description:
// PTX810 Music傾僾儕 摨婜僒乕僶 僐儞僥儞僣僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+---------------+--------------------------------------
//2006/06/13 |SDNA 壀嶳 | 怴婯嶌惉
//2006/09/22 |K3悪杮 | 儘僌捛壛
//----PTX824----+---------------+--------------------------------------
//2007/03/28 |K3悪杮 | [824iKeeper(TRK):811] 嵞惗嬋偲昞帵忣曬偑堦抳偟側偄栤戣偺懳墳
//2007/04/24 |K3悪杮 | WMA(MTP)僾儗僀儕僗僩懳墳
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICESEARCHFROMTOP_H__
#include "SmbMusicAPSyncServerContentsServiceSearchFromTop.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERUTIL_H__
#include "SmbMusicAPSyncServerUtil.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSASYNCOBSERVER_H__
#include "SmbMusicAPSyncServerContentsAsyncObserver.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSASYNCOBSERVER_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSFUNC_H__
#include "SmbMusicAPSyncServerContentsFunc.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSFUNC_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSMANAGERINTERFACE_H__
#include "SmbMusicAPSyncServerContentsManagerInterface.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSMANAGERINTERFACE_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSCREENTRACEMANAGER_H__
#include "SmbMusicAPSyncServerContentsScreenTraceManager.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSSCREENTRACEMANAGER_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSLIST_H__
#include "SmbMusicAPSyncServerContentsList.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSLIST_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSLISTFILTERTOP_H__
#include "SmbMusicAPSyncServerContentsListFilterTop.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSLISTFILTERTOP_H__
// ADD-S [824iKeeper(TRK):811] 嵞惗嬋偲昞帵忣曬偑堦抳偟側偄栤戣偺懳墳
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSPLAYSONGINFOMANAGER_H__
#include "SmbMusicAPSyncServerContentsPlaySongInfoManager.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSIMAGEDATAMANAGER_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSIMAGEDATAMANAGER_H__
#include "SmbMusicAPSyncServerContentsImageDataManager.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSIMAGEDATAMANAGER_H__
// ADD-E [824iKeeper(TRK):811] 嵞惗嬋偲昞帵忣曬偑堦抳偟側偄栤戣偺懳墳
USING_NAMESPACE_SEMCJ
/**
僐儞僗僩儔僋僞
* @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 側偟
*/
CSmbMusicAPSyncServerContentsServiceSearchFromTop::CSmbMusicAPSyncServerContentsServiceSearchFromTop(DCM_NAMESPACE::RLog& aRlog,
CSmbMusicAPSyncServerModel& aModel,
MSmbMusicAPSyncServerContentsAsyncObserver& aObserver,
CSmbMusicAPSyncServerContentsFunc& aFunc,
MSmbMusicAPSyncServerContentsManagerInterface& aManagerInterface,
CSmbMusicAPSyncServerContentsScreenTraceManager& aScreenData,
const RMessage2& aRMessage)
:CSmbMusicAPSyncServerContentsServiceBase(aRlog,aModel,aObserver,aFunc,aManagerInterface,aScreenData,aRMessage),
iServiceState(ESmbMusicAPSyncServerContentsServiceSearchFromTopState_Init)
{
}
/**
僨僗僩儔僋僞
* @param 側偟
* @return 側偟
*/
CSmbMusicAPSyncServerContentsServiceSearchFromTop::~CSmbMusicAPSyncServerContentsServiceSearchFromTop()
{
if (IsActive() != EFalse)
{
CancelService();
}
// 擮偺偨傔丄僉儍儞僙儖偵偰Complete偡傞
CompleteErr(KErrCancel);
delete iTempSearchInfo;
iTempSearchInfo = 0;
delete iTempSearchCondition;
iTempSearchCondition = 0;
delete iTempSortCondition;
iTempSortCondition = 0;
delete iTempListItem;
iTempListItem = 0;
}
/**
僒乕價僗傪奐巒偡傞
* @param 側偟
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceSearchFromTop::StartServiceL()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
_LIT(KContentsServiceSearchFromTop00, "SyncServerContentsServiceSearchFromTop::StartServiceL()");
SmbMusicAPSyncServerLog(iRLog,
(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromTop|EMusicAPSyncServerLocationNumber00),
ELogLevelLowest,
KContentsServiceSearchFromTop00);
#endif
if(ESmbMusicAPSyncServerContentsServiceSearchFromTopState_Init == iServiceState)
{
// 僷儔儊乕僞傪撉傒崬傓
if(EFalse != LoadParam())
{
TBool result = EFalse;
switch(iParamCondition)
{
case ESmbMusicAPSyncEngineGenre: ///<僕儍儞儖
iReqListType = ESmbMusicAPSyncEngineTypeGenre;
result = CreateMetaListL(ESmbMusicMWLibMetaGenre);
break;
case ESmbMusicAPSyncEngineArtist: ///<傾乕僥傿僗僩
iReqListType = ESmbMusicAPSyncEngineTypeArtist;
result = CreateMetaListL(ESmbMusicMWLibMetaArtist);
break;
case ESmbMusicAPSyncEngineAlbum: ///<傾儖僶儉
iReqListType = ESmbMusicAPSyncEngineTypeAlbum;
result = CreateMetaListL(ESmbMusicMWLibMetaAlbum);
break;
case ESmbMusicAPSyncEngineOriginalPlaylist: ///<僆儕僕僫儖僾儗僀儕僗僩
iReqListType = ESmbMusicAPSyncEngineTypeOriginalPlaylist;
result = CreatePLListL(ESmbMusicMWLibPLUser);
break;
case ESmbMusicAPSyncEngineImportPlaylist: ///<僀儞億乕僩僾儗僀儕僗僩
iReqListType = ESmbMusicAPSyncEngineTypeImportPlaylist;
result = CreatePLListL(ESmbMusicMWLibPLM3U);
break;
// ADD-S PTX824 k3-sugimoto
#ifndef __SMBMUSICAPSYNCSERVER_ENABLE_PTX810__
case ESmbMusicAPSyncEngineWMAPlaylist: ///<WM僾儗僀儕僗僩
iReqListType = ESmbMusicAPSyncEngineTypeWMAPlaylist;
result = CreatePLListL(ESmbMusicMWLibPLWM);
break;
#endif // __SMBMUSICAPSYNCSERVER_ENABLE_PTX810__
// ADD-E PTX824 k3-sugimoto
case ESmbMusicAPSyncEngineAll: ///<偡傋偰偺嬋
iReqListType = ESmbMusicAPSyncEngineTypeSonglist;
result = CreateAllSongListL();
break;
case ESmbMusicAPSyncEngineOften50: ///<傛偔挳偔50嬋
iReqListType = ESmbMusicAPSyncEngineTypeSonglist;
result = Create50SongListL(ESmbMusicMWLibColCount);
break;
case ESmbMusicAPSyncEngineLatest50: ///<嵟嬤挳偄偨50嬋
iReqListType = ESmbMusicAPSyncEngineTypeSonglist;
result = Create50SongListL(ESmbMusicMWLibColLastUpdate);
break;
case ESmbMusicAPSyncEngineDataBox: ///<曐懚愭偐傜1(僨乕僞BOX)
iReqListType = ESmbMusicAPSyncEngineTypeSonglist;
result = CreateStorageSongListL(ESmbMusicMWLibDataBox);
break;
case ESmbMusicAPSyncEngineMassStorage: ///<曐懚愭偐傜2(杮懱奼挘儊儌儕)
iReqListType = ESmbMusicAPSyncEngineTypeSonglist;
result = CreateStorageSongListL(ESmbMusicMWLibFlash);
break;
case ESmbMusicAPSyncEngineMSDuo: ///<曐懚愭偐傜3(M.S.Duo)
iReqListType = ESmbMusicAPSyncEngineTypeSonglist;
result = CreateStorageSongListL(ESmbMusicMWLibMS);
break;
case ESmbMusicAPSyncEngineMiniSD: ///<曐懚愭偐傜4(miniSD)
iReqListType = ESmbMusicAPSyncEngineTypeSonglist;
result = CreateStorageSongListL(ESmbMusicMWLibSD);
break;
default:
_LIT(KContentsServiceSearchFromTop01, "SyncServerContentsServiceSearchFromTop::StartServiceL() iParamCondition is NotSupport %d");
SmbMusicAPSyncServerLog(iRLog,
(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromTop|EMusicAPSyncServerLocationNumber01),
ELogLevelHigh,
KContentsServiceSearchFromTop01,
iParamCondition);
break;
}
if(EFalse != result)
{
// 僒乕價僗僋儔僗傪傾僋僥傿僽偵偡傞
Start();
// 儕僗僩惗惉懸偪忬懺偵偡傞
iServiceState = ESmbMusicAPSyncServerContentsServiceSearchFromTopState_WaitList;
return ESmbMusicAPSyncServerContetnsServiceStateContinue;
}
else
{
_LIT(KContentsServiceSearchFromTop02, "SyncServerContentsServiceSearchFromTop::StartServiceL() CreateStorageSongListL");
SmbMusicAPSyncServerLog(iRLog,
(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromTop|EMusicAPSyncServerLocationNumber02),
ELogLevelHigh,
KContentsServiceSearchFromTop02);
// 儔僀僽儔儕MW僄儔乕偵偰姰椆偡傞
CompleteErr(KErrNotReady);
return ESmbMusicAPSyncServerContetnsServiceStateErr;
}
}
else
{
// 僷儔儊乕僞僄儔乕偵偰姰椆偡傞
CompleteErr(KErrArgument);
return ESmbMusicAPSyncServerContetnsServiceStateErr;
}
}
else
{
_LIT(KContentsServiceSearchFromTop03, "SyncServerContentsServiceSearchFromTop::StartServiceL() Invalid State %d");
SmbMusicAPSyncServerLog(iRLog,
(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromTop|EMusicAPSyncServerLocationNumber03),
ELogLevelHigh,
KContentsServiceSearchFromTop03,
iServiceState);
// 僒乕價僗幐攕偵偰姰椆偡傞
CompleteErr();
return ESmbMusicAPSyncServerContetnsServiceStateErr;
}
}
/**
巜掕僀儀儞僩偵傛傝僉儍儞僙儖偝傟傞偐偳偆偐傪敾抐偡傞
* @param [in] aCancelEvent 僉儍儞僙儖僀儀儞僩
* @return 僉儍儞僙儖懳徾偐偳偆偐乮ETrue:僉儍儞僙儖懳徾丄EFalse丗僉儍儞僙儖旕懳徾乯
*/
TBool CSmbMusicAPSyncServerContentsServiceSearchFromTop::CheckCancel(TSmbMusicAPSyncServerFunction aCancelEvent)
{
TBool result = EFalse;
switch(aCancelEvent)
{
case ESmbMusicAPSyncServerFuncCancelGetListOrListItems: // 傾僀僥儉媦傃儕僗僩傾僀僥儉偺嶌惉張棟傪僉儍儞僙儖
result = ETrue;
break;
default:
break;
}
return result;
}
/**
旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞
* @param 側偟
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceSearchFromTop::ContinueServiceL()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
_LIT(KContentsServiceSearchFromTop04, "SyncServerContentsServiceSearchFromTop::ContinueServiceL() state:%d");
SmbMusicAPSyncServerLog(iRLog,
(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromTop|EMusicAPSyncServerLocationNumber04),
ELogLevelLowest,
KContentsServiceSearchFromTop04,
iServiceState);
#endif
if(ESmbMusicAPSyncServerContentsServiceSearchFromTopState_WaitList == iServiceState)
{
TInt handle = iTempListItem->Handle();
TInt count = iTempListItem->Count();
// ADD-S 儘僌捛壛
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
_LIT(KContentsServiceSearchFromTop05, "SyncServerContentsServiceSearchFromTop::ContinueServiceL() List=[0x%08x]:%d");
SmbMusicAPSyncServerLog(iRLog,
(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromTop|EMusicAPSyncServerLocationNumber05),
ELogLevelLowest,
KContentsServiceSearchFromTop05,
handle, count);
#endif
// ADD-E 儘僌捛壛
// 儕僗僩偺僴儞僪儖僋儔僗傪嶌惉
CSmbMusicAPSyncServerContentsList* list = CSmbMusicAPSyncServerContentsListFilterTop::NewL( iRLog,
handle,
iTempListItem,
iReqListType,
iParamCondition,
iParamRequestListType);
//儕僗僩偺強桳尃偑側偔側傞偺偱丄億僀儞僞傪僋儕傾偡傞
iTempListItem = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -