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

📄 smbmusicapsyncservercontentscontroller.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 4 页
字号:
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceDeleteItem(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncGetSongID:
			//  嬋ID傪庢摼
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetSongID(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncGetPlaySongInfo:
			//  嵞惗嬋忣曬傪庢摼
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetPlaySongInfo(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncGetPrevList:
			//  慗堏尦儕僗僩忣曬傪庢摼
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetPrevList(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncGetListType:
			//  儕僗僩庬暿傪庢摼
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetListType(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncGetActiveFocus:
			//  儗僕儏乕儉忣曬偵娷傑傟傞儕僗僩偺昞帵帪偵偍偗傞傾僋僥傿僽僼僅乕僇僗傪庢摼
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetActiveFocus(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncGetListTitle:
			//  巜掕偝傟偨儕僗僩偺僞僀僩儖傪暥帤楍偱庢摼偡傞
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetListTitle(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncGetItemCount:
			//  巜掕偝傟偨儕僗僩撪偺傾僀僥儉悢傪庢摼偡傞
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetItemCount(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncGetItemContentsID:
			//  巜掕偝傟偨傾僀僥儉偺僐儞僥儞僣ID傪庢摼偡傞
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetContentsID(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncGetOriginalPlayListForInsert:
			//  僆儕僕僫儖僾儗僀儕僗僩堦棗傪庢摼偡傞
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetOriginalPLList(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

//  ADD-S PTX824 k3-sugimoto
		case ESmbMusicAPSyncServerFuncDupelicatePlaylist:
			//  僾儗僀儕僗僩傪暋惢偡傞
			service = new(ELeave)CSmbMusicAPSyncServerContentsServicePLDuplicate(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncGetCpList:
			//  儔僀僙儞僗峏怴偺昁梫側CP儕僗僩堦棗傪庢摼偡傞
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetCpList(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncGetSongLimitInfo:
			//  巜掕嬋偺惂尷忣曬傪庢摼偡傞
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetSongLimitInfo(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncGetImageTypeInfo:
			//  巜掕偝傟偨庬暿偺夋憸忣曬傪庢摼偡傞
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetImageTypeInfo(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;
//  ADD-E PTX824 k3-sugimoto

		default:
			break;
		}

	return service;
	}


	//
/**
 *  僐儅儞僪偵懳偡傞僒乕價僗慖掕
 *
 *  @param[in]	aCommand	僒乕僶撪僐儅儞僪
 *
 *  @return	僐儅儞僪偵懳墳偡傞僐儞僥儞僣僒乕價僗(NULL偺応崌偼懳墳僒乕價僗尒偮偐傜偢)
 **/
CSmbMusicAPSyncServerContentsServiceBase* CSmbMusicAPSyncServerContentsController::SelectServiceL(
		TSmbMusicAPSyncServerInternalCommandPkg aCommand
		)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsController | EMusicAPSyncServerLocationNumber24;
	_LIT(KContentsControllerSelectServiceL01, "SyncServerContentsController::SelectServiceL Command(0x%08x)");
	SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelNormal, KContentsControllerSelectServiceL01, aCommand.iCommand);
#endif

	CSmbMusicAPSyncServerContentsServiceBase* service(NULL);
	//  僒乕價僗敾暿
	switch(aCommand.iCommand)
		{
		case ESmbMsuicAPSyncServerIndexFromIHandle:			//	Index偐傜Iterator僴儞僪儖傪庢摼偡傞
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceIndexFromIHandle(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, iDmyMessage
						);
			break;

		case ESmbMsuicAPSyncServerHandleFromIndex:			//	Iterator僴儞僪儖偐傜Index傪庢摼偡傞
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceHandleFromIndex(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, iDmyMessage
						);
			break;

		case ESmbMsuicAPSyncServerCheckLineOut:				//	僗僺乕僇/僀儎偺弌椡愭僠僃僢僋
			break;

		case ESmbMsuicAPSyncServerInsertMS:					//	MS憓擖
		case ESmbMsuicAPSyncServerInsertSD:					//	SD憓擖
		case ESmbMsuicAPSyncServerRemoveMS:					//	MS敳嫀
		case ESmbMsuicAPSyncServerRemoveSD:					//	SD敳嫀
		case ESmbMsuicAPSyncServerChangeExtMemState:		//	奜晹儊儌儕偺忬懺曄峏捠抦
		case ESmbMusicAPSyncServerDeleteResumeInfo:			//	儗僕儏乕儉忣曬嶍彍
			//  儗僕儏乕儉忣曬傪攋婞
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceDeleteResumeInfo(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, iDmyMessage
						);
			break;

		case ESmbMusicAPSyncServerSetResumeInfo:			//	儗僕儏乕儉忣曬曐懚
			//  儗僕儏乕儉忣曬傪惗惉
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceSetResumeInfo(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, iDmyMessage
						);
			break;

		case ESmbMsuicAPSyncServerIncrementPlaySongTimes:	//	専嶕梡偺嵞惗夞悢傪峏怴偡傞
			//  専嶕梡偺嵞惗夞悢傪峏怴
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceIncrementPlaySongTimes(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, iDmyMessage
						);
			break;

		case ESmbMusicAPSyncServerUpDateAvailableInfo:		//	傾僀僥儉桳岠惈忣曬峏怴
			//  傾僀僥儉桳岠惈忣曬峏怴
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceUpdateItemAvailable(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, iDmyMessage
						);
			break;

//  ADD-S  婜尷愗傟僒僽僗僋儕僾僔儑儞偺僌儗乕傾僂僩懳墳
		case ESmbMsuicAPSyncServerDeleteCacheItem:			//	傾僀僥儉僉儍僢僔儏攋婞
			//  傾僀僥儉桳岠惈忣曬峏怴
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceDeleteItemCache(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, iDmyMessage
						);
			break;
//  ADD-E  婜尷愗傟僒僽僗僋儕僾僔儑儞偺僌儗乕傾僂僩懳墳

		default:
			break;
		}

	if (service != NULL)
		{	//  奩摉僒乕價僗偑懚嵼偟偨応崌
		//  僐儅儞僪僷僢働乕僕傪搉偡
		service -> SetCommand(aCommand);
		}
	return service;
	}

/**
 *  僒乕價僗偺僉儍儞僙儖梫媮
 *
 *  @param[in]	aMessage	僋儔僀傾儞僩偐傜偺儊僢僙乕僕(僉儍儞僙儖梫媮)
 **/
void CSmbMusicAPSyncServerContentsController::CancelService(const RMessage2& aMessage)
	{
//  MODIFY-S  [iKeeper(TRK):10587] 僉儍儞僙儖弴偺僨僢僪儘僢僋栤戣懳張
	TSmbMusicAPSyncServerFunction func(static_cast<TSmbMusicAPSyncServerFunction>(aMessage.Function() & ESmbMusicAPSyncServerFuncMaskFunction));
//  MODIFY-E  [iKeeper(TRK):10587] 僉儍儞僙儖弴偺僨僢僪儘僢僋栤戣懳張
//  ADD-S  [iKeeper(TRK):10587] 僉儍儞僙儖弴偺僨僢僪儘僢僋栤戣懳張
	TInt reqId(aMessage.Function() & ESmbMusicAPSyncServerFuncMaskReqestId);
//  ADD-E  [iKeeper(TRK):10587] 僉儍儞僙儖弴偺僨僢僪儘僢僋栤戣懳張

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsController | EMusicAPSyncServerLocationNumber25;
	_LIT(KContentsControllerCancelService01, "SyncServerContentsController::CancelService(0x%08x)");
	SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelNormal, KContentsControllerCancelService01, func);
#endif

//  ADD-S  [iKeeper(TRK):10587] 僉儍儞僙儖弴偺僨僢僪儘僢僋栤戣懳張
	if (reqId == 0)
		{	//  梫媮ID偑0偺応崌廬棃偺僉儍儞僙儖張棟傪幚峴偡傞丅
//  ADD-E  [iKeeper(TRK):10587] 僉儍儞僙儖弴偺僨僢僪儘僢僋栤戣懳張
		if (CurrentService() != NULL)
			{	//  尰嵼幚峴拞偺僒乕價僗偑懚嵼偡傞応崌
			CSmbMusicAPSyncServerContentsServiceBase& service(*CurrentService());
			if (service.CheckCancel(func) != EFalse)
				{	//  尰嵼偺僒乕價僗偑僉儍儞僙儖懳徾偩偭偨応崌
				service.CancelService();
				aMessage.Complete(KErrNone);
				ServiceCompleteCancel();
				}
			else
				{	//  尰嵼偺僒乕價僗偑僉儍儞僙儖懳徾偱側偐偭偨応崌
				TInt result = iServiceQueue -> CancelService(func);

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
				logCode = EMusicAPSyncServerClassNumber_ContentsController | EMusicAPSyncServerLocationNumber26;
				_LIT(KContentsControllerCancelService02, "SyncServerContentsController::CancelService Que::CancelService1(0x%08x):%d");
				SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelLowest, KContentsControllerCancelService02, func, result);
#endif
				aMessage.Complete(result);
				}
			}
		else
			{	//  僒乕價僗枹幚峴偺応崌
			TInt result = iServiceQueue -> CancelService(func);

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
			logCode = EMusicAPSyncServerClassNumber_ContentsController | EMusicAPSyncServerLocationNumber27;
			_LIT(KContentsControllerCancelService03, "SyncServerContentsController::CancelService Que::CancelService2(0x%08x):%d");
			SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelLowest, KContentsControllerCancelService03, func, result);
#endif
			aMessage.Complete(result);
			}
//  ADD-S  [iKeeper(TRK):10587] 僉儍儞僙儖弴偺僨僢僪儘僢僋栤戣懳張
		}
	else
		{
		CSession2* session(aMessage.Session());
		if (CurrentService() != NULL)
			{	//  尰嵼幚峴拞偺僒乕價僗偑懚嵼偡傞応崌
			CSmbMusicAPSyncServerContentsServiceBase& service(*CurrentService());
			if (service.CheckCancel(reqId, session) != EFalse)
				{	//  尰嵼偺僒乕價僗偑僉儍儞僙儖懳徾偩偭偨応崌
				service.CancelService();
				aMessage.Complete(KErrNone);
				ServiceCompleteCancel();
				}
			else
				{	//  尰嵼偺僒乕價僗偑僉儍儞僙儖懳徾偱側偐偭偨応崌
				TInt result = iServiceQueue -> CancelService(reqId, session);

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
				logCode = EMusicAPSyncServerClassNumber_ContentsController | EMusicAPSyncServerLocationNumber28;
				_LIT(KContentsControllerCancelService04, "SyncServerContentsController::CancelService Que::CancelService1(0x%04x, 0x%08x):%d");
				SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelLowest, KContentsControllerCancelService04, func, session, result);
#endif
				aMessage.Complete(result);
				}
			}
		else
			{	//  僒乕價僗枹幚峴偺応崌
			TInt result = iServiceQueue -> CancelService(reqId, session);

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
			logCode = EMusicAPSyncServerClassNumber_ContentsController | EMusicAPSyncServerLocationNumber29;
			_LIT(KContentsControllerCancelService05, "SyncServerContentsController::CancelService Que::CancelService2(0x%04x, 0x%08x):%d");
			SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelLowest, KContentsControllerCancelService05, func, session, result);
#endif
			aMessage.Complete(result);
			}
		}
//  ADD-E  [iKeeper(TRK):10587] 僉儍儞僙儖弴偺僨僢僪儘僢僋栤戣懳張
	}


/**
 *  傾僾儕働乕僔儑儞偺廔椆張棟
 **/
void CSmbMusicAPSyncServerContentsController::ServiceAllEnd()
	{
	iServiceQueue	-> ServiceAllEnd();
	iPLOrderManager	-> Reset();
	iTraceManager	-> ResetWithoutResume();
	iNotifyManager	-> Reset();
//  ADD-S  [iKeeper(TRK):10028] 傾僾儕廔椆帪偵嵞惗嬋忣曬傪嶍彍偡傞張棟傪捛壛
	iPlSongInfoManager -> ClearPlaySongData(NULL);	//  NULL偟偰偱曐帩偟偰偄傞忣曬慡偰傪嶍彍
//  ADD-E  [iKeeper(TRK):10028] 傾僾儕廔椆帪偵嵞惗嬋忣曬傪嶍彍偡傞張棟傪捛壛
	iImageDataManager -> AllClear();
	iObserveUpdateManager -> StopObservation(0);	//  峏怴捠抦偺娔帇傪慡偰僉儍儞僙儖
	}


// end of SmbMusicAPSyncServerContentsController.cpp

/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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