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

📄 smbmusicapsyncservercontentscontroller.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 4 页
字号:
				retState = EFalse;
				}
			}
			break;

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

		default:
			{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
			logCode = EMusicAPSyncServerClassNumber_ContentsController | EMusicAPSyncServerLocationNumber18;
			_LIT(KContentsControllerCommandL07, "SyncServerContentsController::CommandL Service(Command) not found Command=%d");
			SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelLow, KContentsControllerCommandL07, aCommand.iCommand);
#endif
			retState = EFalse;
			}
			break;
		}
	return retState;
	}


/**
 *  梫媮張棟偺姰椆捠抦
 **/
void CSmbMusicAPSyncServerContentsController::ServiceComplete()
	{
	iServiceQueue -> ServiceComplete(KErrNone);	//  堷悢偵娭偟偰偼揔摉
	}


/**
 *  梫媮張棟偺僉儍儞僙儖捠抦
 **/
void CSmbMusicAPSyncServerContentsController::ServiceCompleteCancel()
	{
	iServiceQueue -> ServiceComplete(KErrCancel);	//  堷悢偵娭偟偰偼揔摉
	}


/**
 *  梫媮張棟偺僄儔乕捠抦
 **/
void CSmbMusicAPSyncServerContentsController::ServiceCompleteErr()
	{
	iServiceQueue -> ServiceComplete(KErrGeneral);	//  堷悢偵娭偟偰偼揔摉
	}


/**
 *  僾儗僀儕僗僩暲懼儅僱乕僕儍庢摼
 *
 *  @return	僾儗僀儕僗僩暲懼儅僱乕僕儍傊偺嶲徠
 **/
CSmbMusicAPSyncServerContentsPLOrderManager& CSmbMusicAPSyncServerContentsController::PLOrderManager() const
	{
	ASSERT(iPLOrderManager != NULL);
	return *iPLOrderManager;
	}


/**
 *  僀儊乕僕僨乕僞儅僱乕僕儍庢摼
 *
 *  @return	僀儊乕僕僨乕僞儅僱乕僕儍傊偺嶲徠
 **/
CSmbMusicAPSyncServerContentsImageDataManager& CSmbMusicAPSyncServerContentsController::ImageDataManager() const
	{
	ASSERT(iImageDataManager != NULL);
	return *iImageDataManager;
	}


/**
 *  嵞惗嬋忣曬儅僱乕僕儍庢摼
 *
 *  @return	嵞惗嬋忣曬儅僱乕僕儍傊偺嶲徠
 **/
CSmbMusicAPSyncServerContentsPlaySongInfoManager& CSmbMusicAPSyncServerContentsController::PlaySongInfoManager() const
	{
	ASSERT(iPlSongInfoManager != NULL);
	return *iPlSongInfoManager;
	}

/**
 *  僀儀儞僩捠抦儅僱乕僕儍庢摼
 *
 *  @return	僀儀儞僩捠抦儅僱乕僕儍傊偺嶲徠
 **/
CSmbMusicAPSyncServerContentsAppNotifyManager& CSmbMusicAPSyncServerContentsController::AppNotifyManager() const
	{
	ASSERT(iNotifyManager != NULL);
	return *iNotifyManager;
	}


/**
 *  峏怴捠抦娔帇儅僱乕僕儍庢摼
 *
 *  @return	峏怴捠抦娔帇儅僱乕僕儍傊偺嶲徠
 **/
CSmbMusicAPSyncServerContentsObserveUpdateManager& CSmbMusicAPSyncServerContentsController::ObserveUpdateManager() const
	{
	ASSERT(iObserveUpdateManager != NULL);
	return *iObserveUpdateManager;
	}


/**
 *  僒乕價僗奐巒張棟
 *
 *  @param[in]	aService	奐巒懳徾僒乕價僗
 **/
void CSmbMusicAPSyncServerContentsController::StartService(CSmbMusicAPSyncServerContentsServiceBase* aService)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsController | EMusicAPSyncServerLocationNumber19;
	_LIT(KContentsControllerStartService01, "SyncServerContentsController::StartService(0x%08x)");
	SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelNormal, KContentsControllerStartService01, aService);
#endif

	TSmbMusicAPSyncServerContentsServiceState serviceState(ESmbMusicAPSyncServerContetnsServiceStateEnd);
	//  僒乕價僗偺幚峴
	TRAPD(error, serviceState = aService -> StartServiceL(););
	if (error != KErrNone)
		{	// StartServiceL偱Leave偑敪惗
		TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsController | EMusicAPSyncServerLocationNumber20;
		_LIT(KContentsControllerStartService02, "SyncServerContentsController::StartService StartServiceL is Leave:%d");
		SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelHigh, KContentsControllerStartService02, error);

		aService -> MessageComplete(error);

		//  Leave偑敪惗偟偨応崌偼Err偲偟偰埖偆
		serviceState = ESmbMusicAPSyncServerContetnsServiceStateErr;
		}

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	logCode = EMusicAPSyncServerClassNumber_ContentsController | EMusicAPSyncServerLocationNumber21;
	_LIT(KContentsControllerStartService03, "SyncServerContentsController::StartService StartService = %d");
	SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelLowest, KContentsControllerStartService03, serviceState);
#endif

	switch(serviceState)
		{
		case ESmbMusicAPSyncServerContetnsServiceStateEnd:		//  張棟廔椆
			ServiceComplete();
			break;
		case ESmbMusicAPSyncServerContetnsServiceStateContinue:	//  張棟宲懕(旕摨婜懸偪摍)
			//  張棟柍偟
			break;
		case ESmbMusicAPSyncServerContetnsServiceStateErr:		//  張棟僄儔乕
			ServiceCompleteErr();
			break;
		default:
			{
			TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsController | EMusicAPSyncServerLocationNumber22;
			_LIT(KContentsControllerStartService04, "SyncServerContentsController::StartService illegal default-route:%d");
			SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelHighest, KContentsControllerStartService04, serviceState);
			ASSERT(EFalse);
			}
			break;
		}
	}


/**
 *  尰嵼幚峴拞偺僒乕價僗庢摼
 *
 *  @return	尰嵼幚峴拞偺僒乕價僗(NULL偺応崌偼僒乕價僗幚峴拞偱側偄)
 **/
CSmbMusicAPSyncServerContentsServiceBase* CSmbMusicAPSyncServerContentsController::CurrentService() const
	{
	return iServiceQueue -> CurrentService();	//  NULL偺応崌傕偁傝
	}


/**
 *  儊僢僙乕僕偵懳偡傞僒乕價僗慖掕
 *
 *  @param[in]	aMessage	僋儔僀傾儞僩偐傜偺儊僢僙乕僕
 *
 *  @return	儊僢僙乕僕偵懳墳偡傞僐儞僥儞僣僒乕價僗(NULL偺応崌偼懳墳僒乕價僗尒偮偐傜偢)
 **/
CSmbMusicAPSyncServerContentsServiceBase* CSmbMusicAPSyncServerContentsController::SelectServiceL(const RMessage2& aMessage)
	{
//  MODIFY-S  [iKeeper(TRK):10587] 僉儍儞僙儖弴偺僨僢僪儘僢僋栤戣懳張
	TSmbMusicAPSyncServerFunction func(static_cast<TSmbMusicAPSyncServerFunction>(aMessage.Function() & ESmbMusicAPSyncServerFuncMaskFunction));
//  MODIFY-E  [iKeeper(TRK):10587] 僉儍儞僙儖弴偺僨僢僪儘僢僋栤戣懳張

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsController | EMusicAPSyncServerLocationNumber23;
	_LIT(KContentsControllerSelectService01, "SyncServerContentsController::SelectService Message(0x%08x)");
	SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelNormal, KContentsControllerSelectService01, func);
#endif

	CSmbMusicAPSyncServerContentsServiceBase* service(NULL);
	//  僒乕價僗敾暿
	switch(func)
		{
		/////  僐儞僥儞僣宯  /////
		case ESmbMusicAPSyncServerFuncGetImageInfo:
			//  妝嬋僼傽僀儖偵娷傑傟傞夋憸忣曬傪庢摼
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetImageInfo(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncGetImage:
			//  妝嬋僼傽僀儖偵娷傑傟傞夋憸傪庢摼
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetImageFile(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncGetPlaySongImage:
			//  妝嬋僼傽僀儖偵娷傑傟傞夋憸傪庢摼乮嵞惗夋柺梡乯
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetPlaySongImage(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

//  ADD-S  [iKeeper(TRK):5472] 乽夋憸昞帵乿丄乽壧帉昞帵乿偺婸搙昞帵偑抶傟傞栤戣偺懳墳
		case ESmbMusicAPSyncServerFuncGetImageCount:
			//  妝嬋僼傽僀儖偵娷傑傟傞夋憸悢傪庢摼
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetImageCount(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;
//  ADD-E  [iKeeper(TRK):5472] 乽夋憸昞帵乿丄乽壧帉昞帵乿偺婸搙昞帵偑抶傟傞栤戣偺懳墳

		case ESmbMusicAPSyncServerFuncGetListFromSearchTop:
			//  専嶕Top偐傜堦棗昞帵梡偺儕僗僩傪庢摼
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceSearchFromTop(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncGetListFromSearchCurrentList:
			//  専嶕偡傞儕僗僩丄専嶕忦審傪巜掕偟偰専嶕寢壥偺儕僗僩傪庢摼
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceSearchFromList(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncGetListItems:
			//  儕僗僩偵娷傑傟傞傾僀僥儉傪庢摼
			service = new(ELeave)CSmbMusicAPSyncServerContentsServiceGetItemFromList(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncCreatePlaylist:
			//  嬻偺僾儗僀儕僗僩傪嶌惉
			service = new(ELeave)CSmbMusicAPSyncServerContentsServicePLMakeNewList(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncEditPlaylistTitle:
			//  僾儗僀儕僗僩偺僞僀僩儖傪曄峏
			service = new(ELeave)CSmbMusicAPSyncServerContentsServicePLTitleEdit(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncInsertItemsToPlaylist:
			//  嬋傾僀僥儉傪僾儗僀儕僗僩偵捛壛
			service = new(ELeave)CSmbMusicAPSyncServerContentsServicePLInsertItem(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncOverWritePlaylist:
			//  嬋傾僀僥儉傪僾儗僀儕僗僩偵捛壛(忋彂偒)
			service = new(ELeave)CSmbMusicAPSyncServerContentsServicePLInsertItemOW(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncRemoveItemsFromPlaylist:
			//  僾儗僀儕僗僩偐傜嬋傾僀僥儉傪嶍彍
			service = new(ELeave)CSmbMusicAPSyncServerContentsServicePLRemoveItem(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncPrepareOrderItems:
			//  僾儗僀儕僗僩偺嬋弴曄峏奐巒
			service = new(ELeave)CSmbMusicAPSyncServerContentsServicePLPrepareOrderItem(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncOrderItems:
			//  僾儗僀儕僗僩偺嬋弴傪曄峏
			service = new(ELeave)CSmbMusicAPSyncServerContentsServicePLOrderItem(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncRollBackOrderItems:
			//  僾儗僀儕僗僩偺嬋弴曄峏傪僉儍儞僙儖廔椆偟偰尦偺儕僗僩偵栠偡
			service = new(ELeave)CSmbMusicAPSyncServerContentsServicePLRollbackOrderItem(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncCommitOrderItems:
			//  僾儗僀儕僗僩偺嬋弴曄峏傪寛掕偡傞
			service = new(ELeave)CSmbMusicAPSyncServerContentsServicePLCommitOrderItem(
						iLog, iModel, *this, *iContentsFunc, *this, *iTraceManager, aMessage
						);
			break;

		case ESmbMusicAPSyncServerFuncDeleteItems:
			//  妝嬋僼傽僀儖丄僾儗僀儕僗僩丄僼僅儖僟摍偺傾僀僥儉偺幚懱傪嶍彍

⌨️ 快捷键说明

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