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

📄 smbmusicapsyncservercontentsservicesearchfromlist.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 4 页
字号:
 * @return	僒乕價僗張棟忬懺
 */
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceSearchFromList::ContinueServiceWaitItemPLSongL()
	{
	TSmbMusicAPSyncServerContentsServiceState ret = ESmbMusicAPSyncServerContetnsServiceStateErr;

	CSmbMusicMWLibMusicItem* item = iTempArray->GetMusicItemL(0);

	if(item)
		{
		// PL儕僗僩傪惗惉偡傞
		ret = CreatePLSongList(item);
		item = 0;
		}
	else
		{
		_LIT(KContentsServiceSearchFromList09, "SyncServerContentsServiceSearchFromList::ContinueServiceWaitItemPLSongL() GetMusicItemL() Err");
		SmbMusicAPSyncServerLog(iRLog,
								(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber09),
								ELogLevelHigh,
								KContentsServiceSearchFromList09);

		// 僷儔儊乕僞僄儔乕偵偰姰椆偡傞
		CompleteErr(KErrArgument);
		ret = ESmbMusicAPSyncServerContetnsServiceStateErr;
		}

	return ret;
	}


/**
 旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞(儊僞儕僗僩or嬋儕僗僩  儕僗僩懸偪忬懺)
 * @param	側偟
 * @return	僒乕價僗張棟忬懺
 */
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceSearchFromList::ContinueServiceWaitListMetaAndSongL()
	{
	TSmbMusicAPSyncServerContentsServiceState ret = ESmbMusicAPSyncServerContetnsServiceStateErr;

	if(iTempListItem)
		{
		TInt listHandle							= iTempListItem->Handle();
		TBool result							= EFalse;
		CSmbMusicAPSyncServerContentsList* list = 0;

		// 専嶕忦審偑慡崁栚偺応崌
		if(ESmbMusicAPSyncEngineSearchAll == iParamCondition)
			{
			// 僐儞僥儞僣儕僗僩傪嶌惉偡傞
			list = CSmbMusicAPSyncServerContentsListFilter::NewL(iRLog,
																 listHandle,
																 iTempListItem,
																 iReqListType,
																 iParamCondition,
																 iParamListType,
																 *(iTempSearchInfo->SearchConditionArray()));
			//儕僗僩偺強桳尃偑側偔側傞偺偱丄億僀儞僞傪僋儕傾偡傞
			iTempListItem = 0;

			// 僐儞僥儞僣儕僗僩傪夋柺慗堏娗棟偵搊榐偡傞
			result = iScreenData.SetList(iParamListHandle, KSmbMusicAPSyncEngineAllSelectItems, list);
			}
		else
			{
			// 僐儞僥儞僣儕僗僩傪嶌惉偡傞
			list = CSmbMusicAPSyncServerContentsListFilter::NewL(iRLog,
																 listHandle,
																 iTempListItem,
																 iReqListType,
																 iParamCondition,
																 iParamListType,
																 iDispString,
																 *(iTempSearchInfo->SearchConditionArray()));
			//儕僗僩偺強桳尃偑側偔側傞偺偱丄億僀儞僞傪僋儕傾偡傞
			iTempListItem = 0;

			// 僐儞僥儞僣儕僗僩傪夋柺慗堏娗棟偵搊榐偡傞
			result = iScreenData.SetList(iParamListHandle, iParamIndex, list);
			}


		if(EFalse != result)
			{
			TSmbMusicAPSyncEngineListInfo listInfo;
			listInfo.iListHandle = listHandle;
			listInfo.iCount		 = list->GetItemCount();

//  ADD-S  儘僌捛壛
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
			_LIT(KContentsServiceSearchFromList10, "SyncServerContentsServiceSearchFromList::ContinueServiceWaitListMetaAndSongL() List=[0x%08x]:%d");
			SmbMusicAPSyncServerLog(iRLog,
									(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber10),
									ELogLevelLowest,
									KContentsServiceSearchFromList10,
									listInfo.iListHandle, listInfo.iCount);
#endif	//  __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
//  ADD-E  儘僌捛壛

//  ADD-S [824iKeeper(TRK):811] 嵞惗嬋偲昞帵忣曬偑堦抳偟側偄栤戣偺懳墳
			//  捠抦偝傟偨怴偟偄儕僗僩僴儞僪儖偑嵞惗嬋忣曬偵僉儍僢僔儏偝傟偰偄傞
			//  儕僗僩僴儞僪儖偲堦抳偟偨応崌偼丄僉儍僢僔儏偺嶍彍傪峴偆丅
			iManagers.PlaySongInfoManager().ClearPlaySongData(&listHandle);
			iManagers.ImageDataManager().ClearCache(listHandle);
//  ADD-E [824iKeeper(TRK):811] 嵞惗嬋偲昞帵忣曬偑堦抳偟側偄栤戣偺懳墳

			Complete(listInfo);
			ret = ESmbMusicAPSyncServerContetnsServiceStateEnd;
			}
		else
			{
			// list偼SetList()撪晹偱Delete偝傟傞
			list = 0;

			_LIT(KContentsServiceSearchFromList11, "SyncServerContentsServiceSearchFromList::ContinueServiceWaitListMetaAndSongL() iScreenData.SetListL(() Err");
			SmbMusicAPSyncServerLog(iRLog,
									(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber11),
									ELogLevelHigh,
									KContentsServiceSearchFromList11);

			// 僒乕價僗幐攕偵偰姰椆偡傞
			CompleteErr();
			ret = ESmbMusicAPSyncServerContetnsServiceStateErr;
			}
		}
	else
		{
		_LIT(KContentsServiceSearchFromList12, "SyncServerContentsServiceSearchFromList::ContinueServiceWaitListMetaAndSongL() iTempListItem is Null");
		SmbMusicAPSyncServerLog(iRLog,
								(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber12),
								ELogLevelHigh,
								KContentsServiceSearchFromList12);

		// 僒乕價僗幐攕偵偰姰椆偡傞
		CompleteErr();
		ret = ESmbMusicAPSyncServerContetnsServiceStateErr;
		}

	return ret;
	}


/**
 旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞(僾儗僀儕僗僩  嬋儕僗僩懸偪忬懺)
 * @param	側偟
 * @return	僒乕價僗張棟忬懺
 */
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceSearchFromList::ContinueServiceWaitListPLSongL()
	{
	TSmbMusicAPSyncServerContentsServiceState ret = ESmbMusicAPSyncServerContetnsServiceStateErr;

	if(iTempListItem)
		{
		TInt listHandle = iTempListItem->Handle();

		// 僐儞僥儞僣儕僗僩傪嶌惉偡傞
		CSmbMusicAPSyncServerContentsList* list = CSmbMusicAPSyncServerContentsListPLSong::NewL(iRLog,
																								listHandle,
																								iTempListItem,
																								iReqListType,
																								iParamCondition,
																								iParamListType);
		//儕僗僩偺強桳尃偑側偔側傞偺偱丄億僀儞僞傪僋儕傾偡傞
		iTempListItem = 0;

		// 僐儞僥儞僣儕僗僩傪夋柺慗堏娗棟偵搊榐偡傞
		TBool result = iScreenData.SetList(iParamListHandle, iParamIndex, list);

		if(EFalse != result)
			{
			TSmbMusicAPSyncEngineListInfo listInfo;
			listInfo.iListHandle = listHandle;
			listInfo.iCount		 = list->GetItemCount();

//  ADD-S  儘僌捛壛
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
			_LIT(KContentsServiceSearchFromList13, "SyncServerContentsServiceSearchFromList::ContinueServiceWaitListPLSongL() List=[0x%08x]:%d");
			SmbMusicAPSyncServerLog(iRLog,
									(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber13),
									ELogLevelLowest,
									KContentsServiceSearchFromList13,
									listInfo.iListHandle, listInfo.iCount);
#endif	//  __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
//  ADD-E  儘僌捛壛

//  ADD-S [824iKeeper(TRK):811] 嵞惗嬋偲昞帵忣曬偑堦抳偟側偄栤戣偺懳墳
			//  捠抦偝傟偨怴偟偄儕僗僩僴儞僪儖偑嵞惗嬋忣曬偵僉儍僢僔儏偝傟偰偄傞
			//  儕僗僩僴儞僪儖偲堦抳偟偨応崌偼丄僉儍僢僔儏偺嶍彍傪峴偆丅
			iManagers.PlaySongInfoManager().ClearPlaySongData(&listHandle);
			iManagers.ImageDataManager().ClearCache(listHandle);
//  ADD-E [824iKeeper(TRK):811] 嵞惗嬋偲昞帵忣曬偑堦抳偟側偄栤戣偺懳墳

			Complete(listInfo);
			ret = ESmbMusicAPSyncServerContetnsServiceStateEnd;
			}
		else
			{
			// list偼SetList()撪晹偱Delete偝傟傞
			list = 0;

			_LIT(KContentsServiceSearchFromList14, "SyncServerContentsServiceSearchFromList::ContinueServiceWaitListPLSongL() iScreenData.SetList(() Err");
			SmbMusicAPSyncServerLog(iRLog,
									(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber14),
									ELogLevelHigh,
									KContentsServiceSearchFromList14);

			// 僒乕價僗幐攕偵偰姰椆偡傞
			CompleteErr();
			ret = ESmbMusicAPSyncServerContetnsServiceStateErr;
			}
		}
	else
		{
		_LIT(KContentsServiceSearchFromList15, "SyncServerContentsServiceSearchFromList::ContinueServiceWaitListPLSongL() iTempListItem is Null");
		SmbMusicAPSyncServerLog(iRLog,
								(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber15),
								ELogLevelHigh,
								KContentsServiceSearchFromList15);

		// 僒乕價僗幐攕偵偰姰椆偡傞
		CompleteErr();
		ret = ESmbMusicAPSyncServerContetnsServiceStateErr;
		}

	return ret;
	}


/**
 旕摨婜墳摎僄儔乕偺張棟傪峴偆
 * @param [in] aError	僄儔乕僐乕僪
 * @return				僒乕價僗張棟忬懺
 */
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceSearchFromList::ServiceErr(TInt aError)
	{
	_LIT(KContentsServiceSearchFromList16, "SyncServerContentsServiceSearchFromList::ServiceErr() Called %d");
	SmbMusicAPSyncServerLog(iRLog,
							(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber16),
							ELogLevelHigh,
							KContentsServiceSearchFromList16,
							aError);

	// 儔僀僽儔儕MW僄儔乕偵偰姰椆偡傞
	CompleteErr(aError);

	return ESmbMusicAPSyncServerContetnsServiceStateErr;
	}


/**
 僒乕價僗偺僉儍儞僙儖張棟傪峴偆
 * @param	側偟
 * @return	側偟
 */
void CSmbMusicAPSyncServerContentsServiceSearchFromList::CancelService()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsServiceSearchFromList17, "SyncServerContentsServiceSearchFromList::CancelService() state:%d");
	SmbMusicAPSyncServerLog(iRLog,
							(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber17),
							ELogLevelLowest,
							KContentsServiceSearchFromList17,
							iServiceState);
#endif

	switch(iServiceState)
		{
	case ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitList_Meta:		// 僒乕價僗儊僞儕僗僩庢摼懸偪忬懺
	case ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitList_Song:		// 僒乕價僗嬋儕僗僩庢摼懸偪忬懺
		// 儕僗僩惗惉張棟傪僉儍儞僙儖偡傞
		iFunc.CancelCreateItem();
		CompleteErr(KErrCancel);
		break;

	case ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitList_PLSong:	// 僒乕價僗PL嬋儕僗僩庢摼懸偪忬懺
		iTempListItem->Close();
		CompleteErr(KErrCancel);
		break;

	case ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitItem_Meta:		// 僒乕價僗儊僞傾僀僥儉庢摼懸偪忬懺
	case ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitItem_Song:		// 僒乕價僗嬋傾僀僥儉庢摼懸偪忬懺
	case ESmbMusicAPSyncServerContentsServiceSearchFromListState_WaitItem_PLSong:	// 僒乕價僗PL嬋傾僀僥儉庢摼懸偪忬懺

		// 傾僀僥儉惗惉張棟傪僉儍儞僙儖偡傞
		iPrevList->CancelCreateNewItem();
		CompleteErr(KErrCancel);
		break;

	default :
		// 壗傕偟側偄
		break;
		}
	Cancel();
	}


/**
 僷儔儊乕僞傪撉傒崬傓
 * @param	側偟
 * @return
 */
TBool CSmbMusicAPSyncServerContentsServiceSearchFromList::LoadParam()
	{
	// 僷儔儊乕僞僷僢働乕僕傪撉傒崬傓
	TSmbMusicAPSyncServerContentsReqPkg			reqPkg;
	TPckg<TSmbMusicAPSyncServerContentsReqPkg>	pkg(reqPkg);

	TInt err = iRMessage.Read(0,pkg);
	if (KErrNone == err)
		{

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		_LIT(KContentsServiceSearchFromList18, "SyncServerContentsServiceSearchFromList::LoadParam() Condition:%d ListHandle:0x%08x Index:%d");
		SmbMusicAPSyncServerLog(iRLog,
								(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber18),
								ELogLevelLowest,
								KContentsServiceSearchFromList18,
								reqPkg.iData.iSearchList.iSearchInfo.iSearchCondition,
								reqPkg.iData.iSearchList.iSearchInfo.iListHandle,
								reqPkg.iData.iSearchList.iSearchInfo.iIndex);
#endif

		iParamCondition	 = reqPkg.iData.iSearchList.iSearchInfo.iSearchCondition;	// 専嶕忦審乮RMessage傛傝庢摼乯
		// 専嶕忦審偺僷儔儊乕僞僠僃僢僋偼偟側偄
		iParamListHandle = reqPkg.iData.iSearchList.iSearchInfo.iListHandle;		// 儕僗僩僴儞僪儖乮RMessage傛傝庢摼乯

		// 専嶕忦審偑慡崁栚偱側偄応崌
		if(ESmbMusicAPSyncEngineSearchAll != iParamCondition)
			{
			iParamIndex = reqPkg.iData.iSearchList.iSearchInfo.iIndex;				// 僀儞僨僢僋僗乮RMessage傛傝庢摼乯
			if(0 <= iParamIndex)
				{
				iParamIndex+=1;				// 乮MWLib偱偼Index偑1乣偺偨傔丄0乣偐傜1乣偵曄姺偡傞乯
				}
			else
				{
				_LIT(KContentsServiceSearchFromList19, "SyncServerContentsServiceSearchFromList::LoadParam() Invalid Index %d");
				SmbMusicAPSyncServerLog(iRLog,
										(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber19),
										ELogLevelHigh,
										KContentsServiceSearchFromList19,
										iParamIndex);

				return EFalse;
				}
			}

		iParamListType	 = reqPkg.iData.iSearchList.iRequestListType;				// 儕僗僩庬暿乮RMessage傛傝庢摼乯
		// 僷儔儊乕僞僠僃僢僋
		if( ESmbMusicAPSyncEngineSongList		!= iParamListType &&	// 嬋儕僗僩
			ESmbMusicAPSyncEngineCategoryList	!= iParamListType  )	// 僇僥僑儕儕僗僩
			{
			_LIT(KContentsServiceSearchFromList20, "SyncServerContentsServiceSearchFromList::LoadParam() Invalid List Type %d");
			SmbMusicAPSyncServerLog(iRLog,
									(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromList|EMusicAPSyncServerLocationNumber20),
									ELogLevelHigh,
									KContentsServiceSearchFromList20,
									iParamListType);

			return EFalse;
			}
		}
	else
		{
		_LIT(KContentsServiceSearchFromList21, "SyncServerContentsServiceSearchFromList::LoadParam() Read() Err %d");
		SmbMusicAPSyncServerLog(iRLog,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -