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

📄 smbmusicapsyncservercontentsservicesearchfromtop.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 3 页
字号:
		// 夋柺慗堏娗棟僋儔僗偵搊榐偡傞
		iScreenData.SetTopList(list);

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

		TSmbMusicAPSyncEngineListInfo listInfo;
		listInfo.iListHandle = handle;
		listInfo.iCount		 = count;

		Complete(listInfo);
		return ESmbMusicAPSyncServerContetnsServiceStateEnd;
		}
	else
		{
		_LIT(KContentsServiceSearchFromTop06, "SyncServerContentsServiceSearchFromTop::ContinueServiceL() Invalid State %d");
		SmbMusicAPSyncServerLog(iRLog,
								(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromTop|EMusicAPSyncServerLocationNumber06),
								ELogLevelHigh,
								KContentsServiceSearchFromTop06,
								iServiceState);

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


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

	CompleteErr(aError);

	return ESmbMusicAPSyncServerContetnsServiceStateErr;
	}


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

	if(ESmbMusicAPSyncServerContentsServiceSearchFromTopState_WaitList == iServiceState)
		{
		// 儕僗僩惗惉張棟傪僉儍儞僙儖
		iFunc.CancelCreateItem();
		CompleteErr(KErrCancel);
		}

	Cancel();
	}


/**
 僷儔儊乕僞傪撉傒崬傓
 * @param	側偟
 * @return
 */
TBool CSmbMusicAPSyncServerContentsServiceSearchFromTop::LoadParam()
	{
	// 僷儔儊乕僞僷僢働乕僕傪撉傒崬傓
	TSmbMusicAPSyncServerContentsReqPkg			reqPkg;
	TPckg<TSmbMusicAPSyncServerContentsReqPkg>	pkg(reqPkg);
	TInt err = iRMessage.Read(0,pkg);
	if (KErrNone == err)
		{

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		_LIT(KContentsServiceSearchFromTop09, "SyncServerContentsServiceSearchFromTop::LoadParam() Condition:%d RequestListType%d");
		SmbMusicAPSyncServerLog(iRLog,
								(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromTop|EMusicAPSyncServerLocationNumber09),
								ELogLevelLowest,
								KContentsServiceSearchFromTop09,
								reqPkg.iData.iSearchTop.iCondition,
								reqPkg.iData.iSearchTop.iRequestListType);
#endif

		iParamCondition = reqPkg.iData.iSearchTop.iCondition;				// 専嶕忦審乮RMessage傛傝庢摼乯
		// 専嶕忦審偺僷儔儊乕僞僠僃僢僋偼偟側偄

		iParamRequestListType = reqPkg.iData.iSearchTop.iRequestListType;	// 梫媮儕僗僩庬暿乮RMessage傛傝庢摼乯

		// 僷儔儊乕僞僠僃僢僋
		if( ESmbMusicAPSyncEngineSongList		!= iParamRequestListType &&	// 嬋儕僗僩
			ESmbMusicAPSyncEngineCategoryList	!= iParamRequestListType  )	// 僇僥僑儕儕僗僩
			{
			_LIT(KContentsServiceSearchFromTop10, "SyncServerContentsServiceSearchFromTop::LoadParam() Invalid List Type %d");
			SmbMusicAPSyncServerLog(iRLog,
									(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromTop|EMusicAPSyncServerLocationNumber10),
									ELogLevelHigh,
									KContentsServiceSearchFromTop10,
									iParamRequestListType);

			return EFalse;
			}
		}
	else
		{
		_LIT(KContentsServiceSearchFromTop11, "SyncServerContentsServiceSearchFromTop::LoadParam() Read() Err %d");
		SmbMusicAPSyncServerLog(iRLog,
								(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromTop|EMusicAPSyncServerLocationNumber11),
								ELogLevelHigh,
								KContentsServiceSearchFromTop11,
								err);
		return EFalse;
		}

	return ETrue;
	}


/**
 僒乕價僗傪惓忢偵姰椆偡傞
 * @param [in] aListInfo	墳摎偵昁梫側忣曬
 * @return					側偟
 * @return
 */
void CSmbMusicAPSyncServerContentsServiceSearchFromTop::Complete(TSmbMusicAPSyncEngineListInfo aListInfo)
	{

	if(ESmbMusicAPSyncServerContentsServiceSearchFromTopState_End != iServiceState)
		{
		TPckg<TSmbMusicAPSyncEngineListInfo>	pkg(aListInfo);

		TInt err = iRMessage.Write(1,pkg);
		if (KErrNone != err)
			{
			_LIT(KContentsServiceSearchFromTop12, "SyncServerContentsServiceSearchFromTop::Complete() Write() Err %d");
			SmbMusicAPSyncServerLog(iRLog,
									(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromTop|EMusicAPSyncServerLocationNumber12),
									ELogLevelHigh,
									KContentsServiceSearchFromTop12,
									err);
			}

		MessageComplete(err);

		iServiceState = ESmbMusicAPSyncServerContentsServiceSearchFromTopState_End;
		}
	else
		{
		_LIT(KContentsServiceSearchFromTop13, "SyncServerContentsServiceSearchFromTop::Complete() Invalid State %d");
		SmbMusicAPSyncServerLog(iRLog,
								(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromTop|EMusicAPSyncServerLocationNumber13),
								ELogLevelHigh,
								KContentsServiceSearchFromTop13,
								iServiceState);
		}

	}


/**
 僒乕價僗傪僄儔乕偱姰椆偡傞
 * @param [in] aResult	僒乕價僗廔椆帪偺寢壥
 * @return				側偟
 */
void CSmbMusicAPSyncServerContentsServiceSearchFromTop::CompleteErr(TInt aResult)
	{

	if(ESmbMusicAPSyncServerContentsServiceSearchFromTopState_End != iServiceState)
		{
		if(KErrNone == aResult)
			{
			_LIT(KContentsServiceSearchFromTop14, "SyncServerContentsServiceSearchFromTop::CompleteErr() ErrCode Is KErrNone");
			SmbMusicAPSyncServerLog(iRLog,
									(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromTop|EMusicAPSyncServerLocationNumber14),
									ELogLevelHigh,
									KContentsServiceSearchFromTop14);

			MessageComplete(KErrServiceFailure);
			}
		else
			{
			MessageComplete(aResult);
			}

		iServiceState = ESmbMusicAPSyncServerContentsServiceSearchFromTopState_End;
		}
	}


/**
 儊僞儕僗僩傪嶌惉偡傞
 * @param [in] aMetaType	儊僞儕僗僩偺庬暿
 * @return					嶌惉奐巒張棟偺惉斲
 */
TBool CSmbMusicAPSyncServerContentsServiceSearchFromTop::CreateMetaListL(TSmbMusicMWLibMetaType aMetaType)
	{
	// 専嶕忦審攝楍傪惗惉偡傞
	iTempSearchCondition = new(ELeave) CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>(KConditionArrayGranularity);

	// 慡専嶕偺専嶕忦審傪嶌惉偡傞
	MakeConditionInfoL(*iTempSearchCondition, ESmbMusicMWLibColAll);

	// 僜乕僩忦審攝楍傪惗惉偡傞
	iTempSortCondition = new(ELeave) CArrayFixFlat<TSmbMusicMWLibSortConditionInfo>(1);

	// 昞帵暥帤楍偵傛傞徃弴偺僜乕僩忦審傪嶌惉偡傞
	MakeSortInfoL(*iTempSortCondition, ESmbMusicMWLibColDispString, ETrue);

	// 専嶕忣曬僋儔僗傪惗惉偡傞
	iTempSearchInfo = CSmbMusicMWLibSearchInfo::NewL();

	// 専嶕忣曬僋儔僗偵専嶕忦審攝楍丄僜乕僩忦審攝楍傪愝掕偡傞
	TBool result = MakeSearchInfo(*iTempSearchInfo, iTempSearchCondition, iTempSortCondition);
	// 専嶕忣曬僋儔僗偵愝掕偝傟偨偺偱丄億僀儞僞傪柍岠壔
	iTempSearchCondition = 0;
	iTempSortCondition	 = 0;

	TBool ret = EFalse;

	if(EFalse != result)
		{

		// 儕僗僩傪嶌惉偡傞
		CSmbMusicMWLibStaticSearchListItem* listItem = CSmbMusicMWLibStaticSearchListItem::NewL();
		TInt mwResult = iFunc.CreateMetaList(aMetaType, *iTempSearchInfo, *listItem, iStatus);
		iTempListItem = listItem;
		listItem = 0;
		if(KErrNone == mwResult)
			{
			ret = ETrue;
			}
		else
			{
			_LIT(KContentsServiceSearchFromTop15, "SyncServerContentsServiceSearchFromTop::CreateMetaListL() iFunc.CreateMetaList() Err %d");
			SmbMusicAPSyncServerLog(iRLog,
									(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromTop|EMusicAPSyncServerLocationNumber15),
									ELogLevelHigh,
									KContentsServiceSearchFromTop15,
									mwResult);
			}
		}
	else
		{
		_LIT(KContentsServiceSearchFromTop16, "SyncServerContentsServiceSearchFromTop::CreateMetaListL() MakeSearchInfo() Err");
		SmbMusicAPSyncServerLog(iRLog,
								(EMusicAPSyncServerClassNumber_ContentsServiceSearchFromTop|EMusicAPSyncServerLocationNumber16),
								ELogLevelHigh,
								KContentsServiceSearchFromTop16);
		}
	return ret;
	}


/**
 僾儗僀儕僗僩傪嶌惉偡傞
 * @param [in] aMetaType	僾儗僀儕僗僩偺庬暿
 * @return					嶌惉奐巒張棟偺惉斲
 */
TBool CSmbMusicAPSyncServerContentsServiceSearchFromTop::CreatePLListL(TSmbMusicMWLibPLType aPLType)
	{

	// 専嶕忦審攝楍傪惗惉偡傞
	iTempSearchCondition = new(ELeave) CArrayFixFlat<TSmbMusicMWLibSearchConditionInfo>(KConditionArrayGranularity);

	// 慡専嶕偺専嶕忦審傪嶌惉偡傞
	MakeConditionInfoL(*iTempSearchCondition, ESmbMusicMWLibColAll);

	// 僜乕僩忦審攝楍傪惗惉偡傞
	iTempSortCondition = new(ELeave) CArrayFixFlat<TSmbMusicMWLibSortConditionInfo>(1);

	// 昞帵暥帤楍偵傛傞徃弴偺僜乕僩忦審傪嶌惉偡傞
	MakeSortInfoL(*iTempSortCondition, ESmbMusicMWLibColDispString, ETrue);

	// 専嶕忣曬僋儔僗傪惗惉偡傞
	iTempSearchInfo = CSmbMusicMWLibSearchInfo::NewL();

	// 専嶕忣曬僋儔僗偵専嶕忦審攝楍丄僜乕僩忦審攝楍傪愝掕偡傞
	TBool result = MakeSearchInfo(*iTempSearchInfo, iTempSearchCondition, iTempSortCondition);
	// 専嶕忣曬僋儔僗偵愝掕偝傟偨偺偱丄億僀儞僞傪柍岠壔
	iTempSearchCondition = 0;
	iTempSortCondition	 = 0;

	TBool ret = EFalse;

	if(EFalse != result)
		{

		// 儕僗僩傪嶌惉偡傞
		CSmbMusicMWLibDynamicSearchListItem* listItem = CSmbMusicMWLibDynamicSearchListItem::NewL();
		TInt mwResult = iFunc.CreatePLList(aPLType, *iTempSearchInfo, *listItem, iStatus);
		iTempListItem = listItem;
		listItem = 0;
		if(KErrNone == mwResult)
			{

⌨️ 快捷键说明

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