⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smbmusicapsyncservercontentslistfilter.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 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 + -