📄 smbmusicapsyncservercontentsservicesearchfromlist.cpp
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerContentsServiceSearchFromList.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 __SMBMUSICAPSYNCSERVERCONTENTSSERVICESEARCHFROMLIST_H__
#include "SmbMusicAPSyncServerContentsServiceSearchFromList.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSFUNC_H__
#include "SmbMusicAPSyncServerContentsFunc.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSFUNC_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSCREENTRACEMANAGER_H__
#include "SmbMusicAPSyncServerContentsScreenTraceManager.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSLIST_H__
#include "SmbMusicAPSyncServerContentsList.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSITEM_H__
#include "SmbMusicAPSyncServerContentsItem.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSLISTFILTER_H__
#include "SmbMusicAPSyncServerContentsListFilter.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSLISTPLSONG_H__
#include "SmbMusicAPSyncServerContentsListPLSong.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERUTIL_H__
#include "SmbMusicAPSyncServerUtil.h"
#endif
// ADD-S [824iKeeper(TRK):811] 嵞惗嬋偲昞帵忣曬偑堦抳偟側偄栤戣偺懳墳
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSMANAGERINTERFACE_H__
#include "SmbMusicAPSyncServerContentsManagerInterface.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSMANAGERINTERFACE_H__
#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] aFunc 僒乕價僗姰椆捠抦愭僋儔僗偺嶲徠
* @param [in] aObserver 僐儞僥儞僣僼傽儞僋儔僗偺嶲徠
* @param [in] aManagerInterface 奺儅僱乕僕儍傪娗棟偡傞僋儔僗偺嶲徠
* @param [in] aScreenData 夋柺慗堏僨乕僞娗棟僋儔僗偺嶲徠
* @param [in,out] aRMessage RMessage偺億僀儞僞
* @return 側偟
*/
CSmbMusicAPSyncServerContentsServiceSearchFromList::CSmbMusicAPSyncServerContentsServiceSearchFromList( 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(ESmbMusicAPSyncServerContentsServiceSearchFromListState_Init)
{
iDispString = KNullDesC;
}
/**
僨僗僩儔僋僞
* @param 側偟
* @return 側偟
*/
CSmbMusicAPSyncServerContentsServiceSearchFromList::~CSmbMusicAPSyncServerContentsServiceSearchFromList()
{
if (IsActive() != EFalse)
{
CancelService();
}
// 擮偺偨傔丄僉儍儞僙儖偵偰Complete偡傞
CompleteErr(KErrCancel);
delete iTempListItem;
iTempListItem = 0;
delete iTempArray;
iTempArray = 0;
delete iTempSearchInfo;
iTempSearchInfo = 0;
delete iTempSearchCondition;
iTempSearchCondition = 0;
delete iTempSortCondition;
iTempSortCondition = 0;
}
/**
僒乕價僗傪奐巒偡傞
* @param 側偟
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceSearchFromList::StartServiceL()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
_LIT(KContentsServiceSearchFromList00, "SyncServerContentsServiceSearchFromList::StartServiceL() ");
SmbMusicAPSyncServerLog(iRLog,
(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber00),
ELogLevelLowest,
KContentsServiceSearchFromList00,
iParamListHandle);
#endif
if(ESmbMusicAPSyncServerContentsServiceSearchFromListState_Init == iServiceState)
{
// 僷儔儊乕僞傪撉傒崬傓
if(EFalse != LoadParam())
{
// 僴儞僪儖偐傜儕僗僩傪庢摼偡傞
CSmbMusicAPSyncServerContentsList* list = iScreenData.GetList(iParamListHandle);
if(list)
{
iPrevList = list;
// 儕僗僩傪惗惉偡傞
return CreateListL();
}
else
{
_LIT(KContentsServiceSearchFromList01, "SyncServerContentsServiceSearchFromList::StartServiceL() List Not Found Handle:0x%08x");
SmbMusicAPSyncServerLog(iRLog,
(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber01),
ELogLevelHigh,
KContentsServiceSearchFromList01,
iParamListHandle);
// 僷儔儊乕僞僄儔乕偵偰姰椆偡傞
CompleteErr(KErrArgument);
return ESmbMusicAPSyncServerContetnsServiceStateErr;
}
}
else
{
// 僷儔儊乕僞僄儔乕偵偰姰椆偡傞
CompleteErr(KErrArgument);
return ESmbMusicAPSyncServerContetnsServiceStateErr;
}
}
else
{
_LIT(KContentsServiceSearchFromList02, "SyncServerContentsServiceSearchFromList::StartServiceL() Invalid State %d");
SmbMusicAPSyncServerLog(iRLog,
(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber02),
ELogLevelHigh,
KContentsServiceSearchFromList02,
iServiceState);
// 僒乕價僗幐攕偵偰姰椆偡傞
CompleteErr();
return ESmbMusicAPSyncServerContetnsServiceStateErr;
}
}
/**
旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞
* @param 側偟
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceSearchFromList::ContinueServiceL()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
_LIT(KContentsServiceSearchFromList03, "SyncServerContentsServiceSearchFromList::ContinueServiceL() state:%d");
SmbMusicAPSyncServerLog(iRLog,
(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber03),
ELogLevelLowest,
KContentsServiceSearchFromList03,
iServiceState);
#endif
TSmbMusicAPSyncServerContentsServiceState ret = ESmbMusicAPSyncServerContetnsServiceStateErr;
switch(iServiceState)
{
case ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitItem_Meta: // 僒乕價僗儊僞傾僀僥儉庢摼懸偪忬懺
ret = ContinueServiceWaitItemMetaL();
break;
case ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitItem_Song: // 僒乕價僗嬋傾僀僥儉庢摼懸偪忬懺
ret = ContinueServiceWaitItemSongL();
break;
case ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitItem_PLSong: // 僒乕價僗PL嬋傾僀僥儉庢摼懸偪忬懺
ret = ContinueServiceWaitItemPLSongL();
break;
case ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitList_Meta: // 僒乕價僗儊僞儕僗僩庢摼懸偪忬懺
case ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitList_Song: // 僒乕價僗嬋儕僗僩庢摼懸偪忬懺
ret = ContinueServiceWaitListMetaAndSongL();
break;
case ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitList_PLSong: // 僒乕價僗PL嬋儕僗僩庢摼懸偪忬懺
ret = ContinueServiceWaitListPLSongL();
break;
default:
_LIT(KContentsServiceSearchFromList04, "SyncServerContentsServiceSearchFromList::ContinueServiceL() Invalid State %d");
SmbMusicAPSyncServerLog(iRLog,
(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber04),
ELogLevelHigh,
KContentsServiceSearchFromList04,
iServiceState);
// 僒乕價僗幐攕偵偰姰椆偡傞
CompleteErr();
ret = ESmbMusicAPSyncServerContetnsServiceStateErr;
break;
}
return ret;
}
/**
旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞(儊僞儕僗僩 傾僀僥儉懸偪忬懺)
* @param 側偟
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceSearchFromList::ContinueServiceWaitItemMetaL()
{
TSmbMusicAPSyncServerContentsServiceState ret = ESmbMusicAPSyncServerContetnsServiceStateErr;
CSmbMusicMWLibMusicItem* item = iTempArray->GetMusicItemL(0);
if(item)
{
CleanupStack::PushL(item);
// 昞帵暥帤楍傪庢摼偡傞
const TSmbMusicMWLibCommonInfo* commonInfo = item->CommonInformation();
if(commonInfo)
{
iDispString = commonInfo->iDispString;
// 儊僞儕僗僩傪惗惉偡傞
ret = CreateMetaListL(*iPrevList);
}
else
{
_LIT(KContentsServiceSearchFromList05, "SyncServerContentsServiceSearchFromList::ContinueServiceWaitItemMetaL() CommonInformation() Err");
SmbMusicAPSyncServerLog(iRLog,
(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber05),
ELogLevelHigh,
KContentsServiceSearchFromList05);
// 儔僀僽儔儕MW僄儔乕偵偰姰椆偡傞
CompleteErr(KErrNotReady);
ret = ESmbMusicAPSyncServerContetnsServiceStateErr;
}
CleanupStack::Pop(item);
delete item;
item = 0;
}
else
{
_LIT(KContentsServiceSearchFromList06, "SyncServerContentsServiceSearchFromList::ContinueServiceWaitItemMetaL() GetMusicItemL() Err");
SmbMusicAPSyncServerLog(iRLog,
(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber06),
ELogLevelHigh,
KContentsServiceSearchFromList06);
// 僷儔儊乕僞僄儔乕偵偰姰椆偡傞
CompleteErr(KErrArgument);
ret = ESmbMusicAPSyncServerContetnsServiceStateErr;
}
return ret;
}
/**
旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞(嬋儕僗僩 傾僀僥儉懸偪忬懺)
* @param 側偟
* @return 僒乕價僗張棟忬懺
*/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceSearchFromList::ContinueServiceWaitItemSongL()
{
TSmbMusicAPSyncServerContentsServiceState ret = ESmbMusicAPSyncServerContetnsServiceStateErr;
CSmbMusicMWLibMusicItem* item = iTempArray->GetMusicItemL(0);
if(item)
{
CleanupStack::PushL(item);
// 昞帵暥帤楍傪庢摼偡傞
const TSmbMusicMWLibCommonInfo* commonInfo = item->CommonInformation();
if(commonInfo)
{
iDispString = commonInfo->iDispString;
// 嬋儕僗僩傪惗惉偡傞
ret = CreateSongListL(*iPrevList);
}
else
{
_LIT(KContentsServiceSearchFromList07, "SyncServerContentsServiceSearchFromList::ContinueServiceWaitItemSongL() CommonInformation() Err");
SmbMusicAPSyncServerLog(iRLog,
(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber07),
ELogLevelHigh,
KContentsServiceSearchFromList07);
// 儔僀僽儔儕MW僄儔乕偵偰姰椆偡傞
CompleteErr(KErrNotReady);
ret = ESmbMusicAPSyncServerContetnsServiceStateErr;
}
CleanupStack::Pop(item);
delete item;
item = 0;
}
else
{
_LIT(KContentsServiceSearchFromList08, "SyncServerContentsServiceSearchFromList::ContinueServiceWaitItemSongL() GetMusicItemL() Err");
SmbMusicAPSyncServerLog(iRLog,
(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber08),
ELogLevelHigh,
KContentsServiceSearchFromList08);
// 僷儔儊乕僞僄儔乕偵偰姰椆偡傞
CompleteErr(KErrArgument);
ret = ESmbMusicAPSyncServerContetnsServiceStateErr;
}
return ret;
}
/**
旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞(僾儗僀儕僗僩 嬋傾僀僥儉懸偪忬懺)
* @param 側偟
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -