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

📄 smbmusicapsyncservercontentsplordermanager.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsPLOrderManager | EMusicAPSyncServerLocationNumber08;
	_LIT(KPLOrderManagerOrderItem01, "SyncServerContentsPLOrderManager::OrderItem() %d -> %d");
	SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelLow, KPLOrderManagerOrderItem01, aCurrentIndex, aNewIndex);
#endif

	TInt retState(KErrNone);

	if ((OrderStatus() != ESmbMusicAPSyncServerContentsPLOrderStateOrdering) ||
		(iPLItem == NULL))
		{	//  僾儗僀儕僗僩傾僀僥儉偑僙僢僩偝傟偰偄側偄偐丄暲懼忬懺偱側偄応崌
		return KErrNotReady;
		}

	retState = iPLItem -> OrderItem(aCurrentIndex, aNewIndex);
	if (retState != KErrNone)
		{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsPLOrderManager | EMusicAPSyncServerLocationNumber09;
		_LIT(KPLOrderManagerOrderItem02, "SyncServerContentsPLOrderManager::OrderItem() Error:%d");
		SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelNormal, KPLOrderManagerOrderItem02, retState);
#endif
		}

	return retState;
	}


/**
 *  僾儗僀儕僗僩嬋弴曄峏姰椆梫媮
 *
 *  旕摨婜梫媮偺偨傔僒乕價僗偵偰旕摨婜墳摎懸偪傪峴偆昁梫桳
 *
 *  @param[in]	aStatus	旕摨婜梫媮僗僥乕僞僗
 *
 *	@return	張棟寢壥(KErrNone:惓忢廔椆丄KErrNotSupported:枹僒億乕僩丄KErrNotReady:暲懼拞偱側偄丄System-wide僄儔乕僐乕僪)
 **/
TInt CSmbMusicAPSyncServerContentsPLOrderManager::CommitOrderItem(TRequestStatus& aStatus)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsPLOrderManager | EMusicAPSyncServerLocationNumber10;
	_LIT(KPLOrderManagerCommitOrderItem01, "SyncServerContentsPLOrderManager::CommitOrderItem()");
	SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelLow, KPLOrderManagerCommitOrderItem01);
#endif

	TInt retState(KErrNone);

	if ((OrderStatus() != ESmbMusicAPSyncServerContentsPLOrderStateOrdering) ||
		(iPLItem == NULL))
		{	//  僾儗僀儕僗僩傾僀僥儉偑僙僢僩偝傟偰偄側偄応崌
		return KErrNotReady;
		}

	retState = iPLItem -> CommitOrderItem(aStatus);
	if (retState != KErrNone)
		{	//  僾儗僀儕僗僩嬋弴曄峏姰椆梫媮偱僄儔乕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsPLOrderManager | EMusicAPSyncServerLocationNumber11;
		_LIT(KPLOrderManagerCommitOrderItem02, "SyncServerContentsPLOrderManager::CommitOrderItem() Error:%d");
		SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelNormal, KPLOrderManagerCommitOrderItem02, retState);
#endif
		}
	else
		{	//  僾儗僀儕僗僩嬋弴曄峏姰椆梫媮偑惉岟

		//  暲懼姰椆懸偪忬懺傊
		SetOrderStatus(ESmbMusicAPSyncServerContentsPLOrderStateCommiting);
		}

	return retState;
	}


/**
 *  僾儗僀儕僗僩嬋弴曄峏姰椆梫媮拞巭
 *
 *  @param[in]	aExecUpdate	暲懼懳徾僾儗僀儕僗僩偺嵟怴忬懺峏怴僼儔僌(ETrue:峏怴偡傞丄EFalse:峏怴偟側偄)
 *
 *	@return	張棟寢壥(KErrNone:惓忢廔椆丄KErrNotSupported:枹僒億乕僩丄KErrNotReady:暲懼拞偱側偄丄System-wide僄儔乕僐乕僪)
 **/
TInt CSmbMusicAPSyncServerContentsPLOrderManager::CancelCommitOrderItem(CSmbMusicAPSyncServerContentsAppNotifyManager& aNotifyManager, TBool aExecUpdate/*=EFalse*/)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsPLOrderManager | EMusicAPSyncServerLocationNumber12;
	_LIT(KPLOrderManagerCancelCommitOrderItem01, "SyncServerContentsPLOrderManager::CancelCommitOrderItem(%d)");
	SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelLow, KPLOrderManagerCancelCommitOrderItem01, aExecUpdate);
#endif

	TInt retState(KErrNone);

	if ((OrderStatus() != ESmbMusicAPSyncServerContentsPLOrderStateCommiting) ||
		(iPLItem == NULL))
		{	//  僾儗僀儕僗僩傾僀僥儉偑僙僢僩偝傟偰偄側偄偐丄嬋弴曄峏姰椆梫媮拞偱側偄応崌
		return KErrNotReady;
		}

	retState = iPLItem -> CancelCommitOrderItem();
	if (retState != KErrNone)
		{	//  僾儗僀儕僗僩嬋弴曄峏姰椆梫媮拞巭偱僄儔乕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsPLOrderManager | EMusicAPSyncServerLocationNumber13;
		_LIT(KPLOrderManagerCancelCommitOrderItem02, "SyncServerContentsPLOrderManager::CancelCommitOrderItem() Error:%d");
		SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelNormal, KPLOrderManagerCancelCommitOrderItem02, retState);
#endif
		}

	TInt nowState = iPLItem -> IsOrderingItem();
	if(ESmbMusicMWLibBoolTrue == nowState)
		{	//  忬懺偑暲傃懼偊張棟拞偺応崌
		//  堦墳暲懼拞忬懺傊
		SetOrderStatus(ESmbMusicAPSyncServerContentsPLOrderStateOrdering);
		retState = iPLItem -> RollbackOrderItem();
		if (retState != KErrNone)
			{	//  僾儗僀儕僗僩嬋弴曄峏拞巭偵幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
			logCode = EMusicAPSyncServerClassNumber_ContentsPLOrderManager | EMusicAPSyncServerLocationNumber14;
			_LIT(KPLOrderManagerCancelCommitOrderItem03, "SyncServerContentsPLOrderManager::CancelCommitOrderItem() Error:%d");
			SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelNormal, KPLOrderManagerCancelCommitOrderItem03, retState);
#endif
			}
		else
			{
			if (aExecUpdate != EFalse)
				{	//  嵟怴忬懺偵峏怴傪峴偆応崌
				retState = iPLItem -> Update();
				if (retState != KErrNone)
					{	//  嵟怴偺忣曬偵峏怴幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
					logCode = EMusicAPSyncServerClassNumber_ContentsPLOrderManager | EMusicAPSyncServerLocationNumber15;
					_LIT(KPLOrderManagerCancelCommitOrderItem04, "SyncServerContentsPLOrderManager::CancelCommitOrderItem Update Error:%d");
					SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelNormal, KPLOrderManagerCancelCommitOrderItem04, retState);
#endif
					}
				}
			Reset();
			}
		}
	else if(ESmbMusicMWLibBoolFalse == nowState)
		{	// 忬懺偑暲傃懼偊張棟拞偱側偄応崌
		Reset();

		//僾儗僀儕僗僩偺嬋弴偑曄峏偝傟偨偙偲傪捠抦偡傞
		aNotifyManager.NotifyOrderItems(iListHandle);
		}
	else
		{	// 僄儔乕偺応崌
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsPLOrderManager | EMusicAPSyncServerLocationNumber16;
		_LIT(KPLOrderManagerCancelCommitOrderItem05, "SyncServerContentsPLOrderManager::IsOrderingItem() Error:%d");
		SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelNormal, KPLOrderManagerCancelCommitOrderItem05, nowState);
#endif
		retState = nowState;
		}

	return retState;
	}


/**
 *  僾儗僀儕僗僩嬋弴曄峏拞巭梫媮
 *
 *  @param[in]	aExecUpdate	暲懼懳徾僾儗僀儕僗僩偺嵟怴忬懺峏怴僼儔僌(ETrue:峏怴偡傞丄EFalse:峏怴偟側偄)
 *
 *	@return	張棟寢壥(KErrNone:惓忢廔椆丄KErrNotSupported:枹僒億乕僩丄KErrNotReady:暲懼拞偱側偄丄System-wide僄儔乕僐乕僪)
 **/
TInt CSmbMusicAPSyncServerContentsPLOrderManager::RollbackOrderItem(TBool aExecUpdate/*=EFalse*/)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsPLOrderManager | EMusicAPSyncServerLocationNumber17;
	_LIT(KPLOrderManagerRollbackOrderItem01, "SyncServerContentsPLOrderManager::RollbackOrderItem(%d)");
	SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelLow, KPLOrderManagerRollbackOrderItem01, aExecUpdate);
#endif

	TInt retState(KErrNone);

	if ((OrderStatus() != ESmbMusicAPSyncServerContentsPLOrderStateOrdering) ||
		(iPLItem == NULL))
		{	//  僾儗僀儕僗僩傾僀僥儉偑僙僢僩偝傟偰偄側偄偐丄暲懼忬懺偱側偄応崌
		return KErrNotReady;
		}

	retState = iPLItem -> RollbackOrderItem();
	if (retState != KErrNone)
		{	//  僾儗僀儕僗僩嬋弴曄峏拞巭梫媮偱僄儔乕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsPLOrderManager | EMusicAPSyncServerLocationNumber18;
		_LIT(KPLOrderManagerRollbackOrderItem02, "SyncServerContentsPLOrderManager::RollbackOrderItem RollbackOrderItem Error:%d");
		SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelNormal, KPLOrderManagerRollbackOrderItem02, retState);
#endif
		}
	else
		{	//  僾儗僀儕僗僩嬋弴曄峏拞巭梫媮偑惉岟
		if (aExecUpdate != EFalse)
			{	//  嵟怴忬懺偵峏怴傪峴偆応崌
			retState = iPLItem -> Update();
			if (retState != KErrNone)
				{	//  嵟怴偺忣曬偵峏怴幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
				logCode = EMusicAPSyncServerClassNumber_ContentsPLOrderManager | EMusicAPSyncServerLocationNumber19;
				_LIT(KPLOrderManagerRollbackOrderItem03, "SyncServerContentsPLOrderManager::RollbackOrderItem Update Error:%d");
				SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelNormal, KPLOrderManagerRollbackOrderItem03, retState);
#endif
				}
			}
		Reset();
		}

	return retState;
	}


/**
 *  僾儗僀儕僗僩嬋弴曄峏姰椆捠抦
 *
 *  @param[in]	aExecUpdate	暲懼懳徾僾儗僀儕僗僩偺嵟怴忬懺峏怴僼儔僌(ETrue:峏怴偡傞丄EFalse:峏怴偟側偄)
 *
 *	@return	張棟寢壥(KErrNone:惓忢廔椆丄KErrNotReady:張棟姰椆懸偪偱側偄)
 **/
TInt CSmbMusicAPSyncServerContentsPLOrderManager::CompleteOrderItem(CSmbMusicAPSyncServerContentsAppNotifyManager& aNotifyManager, TBool aExecUpdate/*=EFalse*/)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsPLOrderManager | EMusicAPSyncServerLocationNumber20;
	_LIT(KPLOrderManagerCompleteOrdering01, "SyncServerContentsPLOrderManager::CompleteOrdering(%d)");
	SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelLow, KPLOrderManagerCompleteOrdering01, aExecUpdate);
#endif

	if (OrderStatus() != ESmbMusicAPSyncServerContentsPLOrderStateCommiting)
		{	//  嬋弴曄峏姰椆梫媮拞偱側偄応崌
		return KErrNotReady;
		}

	TInt retState(KErrNone);

	if (aExecUpdate != EFalse)
		{	//  嵟怴忬懺偵峏怴傪峴偆応崌
		retState = iPLItem -> Update();
		if (retState != KErrNone)
			{	//  嵟怴偺忣曬偵峏怴幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
			logCode = EMusicAPSyncServerClassNumber_ContentsPLOrderManager | EMusicAPSyncServerLocationNumber21;
			_LIT(KPLOrderManagerCompleteOrdering02, "SyncServerContentsPLOrderManager::CompleteOrdering Update Error:%d");
			SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelNormal, KPLOrderManagerCompleteOrdering02, retState);
#endif
			}
		}
	Reset();

	//僾儗僀儕僗僩偺嬋弴偑曄峏偝傟偨偙偲傪捠抦偡傞
	aNotifyManager.NotifyOrderItems(iListHandle);

	return retState;
	}


// end of SmbMusicAPSyncServerContentsPLOrderManager.cpp

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

⌨️ 快捷键说明

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