📄 smbmusicapsyncservercontentslistfilter.cpp
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerContentsListFilter.cpp
//
// Description:
// PTX810 Music傾僾儕 摨婜僒乕僶 僐儞僥儞僣僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+---------------+--------------------------------------
//2006/06/13 |SDNA 壀嶳 |怴婯嶌惉
#ifndef __SMBMUSICAPSYNCSERVERUTIL_H__
#include "SmbMusicAPSyncServerUtil.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSLISTFILTER_H__
#include "SmbMusicAPSyncServerContentsListFilter.h"
#endif
USING_NAMESPACE_SEMCJ
/**
僼傽僋僩儕娭悢
* @param [in] aLog RLog偺嶲徠
* @param [in] aListHandle 儕僗僩僴儞僪儖
* @param [in] aListItem 儔僀僽儔儕MW偐傜庢摼偟偨儕僗僩偺億僀儞僞
* @param [in] aListType 儕僗僩庬暿乮摨婜僄儞僕儞掕媊乯
* @param [in] aListSearchCondition 専嶕偵偍偗傞儕僗僩庬暿
* @param [in] aSearchListType 専嶕偵偍偗傞忦審
* @param [in] aConditionArray 儔僀僽儔儕MW梡偺専嶕忦審偺攝楍偺嶲徠
* @return 僼傿儖僞儕僗僩僋儔僗偺億僀儞僞
*/
CSmbMusicAPSyncServerContentsListFilter* CSmbMusicAPSyncServerContentsListFilter::NewL( DCM_NAMESPACE::RLog& aLog,
TInt aListHandle,
CSmbMusicMWLibListItem* aListItem,
TSmbMusicAPSyncEngineListType aListType,
TSmbMusicAPSyncEngineListSearchCondition aListSearchCondition,
TSmbMusicAPSyncEngineRequestListType aSearchListType,
CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>& aConditionArray)
{
CSmbMusicAPSyncServerContentsListFilter* list = new(ELeave) CSmbMusicAPSyncServerContentsListFilter(aLog,
aListHandle,
aListItem,
aListType,
aListSearchCondition,
aSearchListType);
CleanupStack::PushL(list);
list->ConstructL(aConditionArray);
CleanupStack::Pop(); // list
return list;
}
/**
僼傽僋僩儕娭悢
* @param [in] aLog RLog偺嶲徠
* @param [in] aListHandle 儕僗僩僴儞僪儖
* @param [in] aListItem 儔僀僽儔儕MW偐傜庢摼偟偨儕僗僩偺億僀儞僞
* @param [in] aListType 儕僗僩庬暿乮摨婜僄儞僕儞掕媊乯
* @param [in] aListSearchCondition 専嶕偵偍偗傞儕僗僩庬暿
* @param [in] aSearchListType 専嶕偵偍偗傞忦審
* @param [in] aDispString 昞帵暥帤楍
* @param [in] aConditionArray 儔僀僽儔儕MW梡偺専嶕忦審偺攝楍偺嶲徠
* @return 僼傿儖僞儕僗僩僋儔僗偺億僀儞僞
*/
CSmbMusicAPSyncServerContentsListFilter* CSmbMusicAPSyncServerContentsListFilter::NewL( DCM_NAMESPACE::RLog& aLog,
TInt aListHandle,
CSmbMusicMWLibListItem* aListItem,
TSmbMusicAPSyncEngineListType aListType,
TSmbMusicAPSyncEngineListSearchCondition aListSearchCondition,
TSmbMusicAPSyncEngineRequestListType aSearchListType,
const TDesC& aDispString,
CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>& aConditionArray)
{
CSmbMusicAPSyncServerContentsListFilter* list = new(ELeave) CSmbMusicAPSyncServerContentsListFilter(aLog,
aListHandle,
aListItem,
aListType,
aListSearchCondition,
aSearchListType);
CleanupStack::PushL(list);
list->ConstructL(aDispString, aConditionArray);
CleanupStack::Pop(); // list
return list;
}
/**
僨僗僩儔僋僞
* @param 側偟
* @return 側偟
*/
CSmbMusicAPSyncServerContentsListFilter::~CSmbMusicAPSyncServerContentsListFilter()
{
}
/**
専嶕忦審偺攝楍傪庢摼偡傞
* @param [out] aConditionArray 専嶕忣曬僋儔僗偺攝楍
* @return 庢摼偺惉斲
*/
TBool CSmbMusicAPSyncServerContentsListFilter::GetSearchCondition(CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>& aConditionArray)
{
// 専嶕忣曬僋儔僗傪慡偰僐僺乕偡傞
TInt count = iConditionArray.Count();
for(TInt i=0; i<count; i++)
{
TRAPD(err, aConditionArray.AppendL(iConditionArray[i]););
if(KErrNone != err)
{
_LIT(KContentsListFilter00, "SyncServerContentsListFilter::GetSearchCondition() aConditionArray.AppendL() Leave %d");
SmbMusicAPSyncServerLog(iLog,
(EMusicAPSyncServerClassNumber_ContentsListFilter|EMusicAPSyncServerLocationNumber00),
ELogLevelHighest,
KContentsListFilter00,
err);
ASSERT(EFalse);
}
}
return ETrue;
}
/**
専嶕忦審偑堦抳偟偰偄傞偐傪僠僃僢僋偡傞
* @param [in] aSearchListType 専嶕偵偍偗傞儕僗僩庬暿
* @param [in] aListSearchCondition 専嶕偵偍偗傞忦審
* @return
*/
TBool CSmbMusicAPSyncServerContentsListFilter::CheckSearchInfo( TSmbMusicAPSyncEngineRequestListType aSearchListType,
TSmbMusicAPSyncEngineListSearchCondition aListSearchCondition)
{
if(iSearchListType == aSearchListType && iListSearchCondition == aListSearchCondition)
{
return ETrue;
}
else
{
return EFalse;
}
}
/**
僐儞僗僩儔僋僞
* @param [in] aLog RLog偺嶲徠
* @param [in] aListHandle 儕僗僩僴儞僪儖
* @param [in] aListItem 儔僀僽儔儕MW偐傜庢摼偟偨儕僗僩偺億僀儞僞
* @param [in] aListType 儕僗僩庬暿乮摨婜僄儞僕儞掕媊乯
* @param [in] aListSearchCondition 専嶕偵偍偗傞儕僗僩庬暿
* @param [in] aSearchListType 専嶕偵偍偗傞忦審
* @return
*/
CSmbMusicAPSyncServerContentsListFilter::CSmbMusicAPSyncServerContentsListFilter(DCM_NAMESPACE::RLog& aLog,
TInt aListHandle,
CSmbMusicMWLibListItem* aListItem,
TSmbMusicAPSyncEngineListType aListType,
TSmbMusicAPSyncEngineListSearchCondition aListSearchCondition,
TSmbMusicAPSyncEngineRequestListType aSearchListType)
:CSmbMusicAPSyncServerContentsList(aLog,aListHandle,aListItem,aListType,aSearchListType,aListSearchCondition)
{
}
/**
2僼僃乕僘僐儞僗僩儔僋僞
* @param [in] aConditionArray 儔僀僽儔儕MW梡偺専嶕忦審偺攝楍偺嶲徠
* @return 側偟
*/
void CSmbMusicAPSyncServerContentsListFilter::ConstructL(CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>& aConditionArray)
{
SetConditionArrayL(aConditionArray);
}
/**
2僼僃乕僘僐儞僗僩儔僋僞
* @param [in] aDispString 昞帵暥帤楍
* @param [in] aConditionArray 儔僀僽儔儕MW梡偺専嶕忦審偺攝楍偺嶲徠
* @return 側偟
*/
void CSmbMusicAPSyncServerContentsListFilter::ConstructL(const TDesC& aDispString, CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>& aConditionArray)
{
TInt length = aDispString.Length();
if(0 < length)
{
iDispString = HBufC::NewL(length);
*iDispString = aDispString;
}
SetConditionArrayL(aConditionArray);
}
/**
専嶕忦審傪愝掕偡傞
* @param [in] aConditionArray 儔僀僽儔儕MW梡偺専嶕忦審偺攝楍偺嶲徠
* @return 側偟
*/
void CSmbMusicAPSyncServerContentsListFilter::SetConditionArrayL(CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>& aConditionArray)
{
TInt count = aConditionArray.Count();
for(TInt i = 0; i<count; i++)
{
iConditionArray.AppendL(aConditionArray[i]);
}
}
/**
傾僀僥儉強帩壜擻側嵟戝悢傪庢摼偡傞
* @param 側偟
* @return 嵟戝悢
*/
TInt CSmbMusicAPSyncServerContentsListFilter::GetMaxItemCount()
{
if(iListType == ESmbMusicAPSyncEngineTypeSonglist)
{
// 嬋儕僗僩偺応崌
return KMaxItemCountForFilterSongList;
}
else
{
// 儊僞儕僗僩偺応崌
return KMaxItemCountForFilterList;
}
}
// end of SmbMusicAPSyncServerContentsListFilter.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -