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

📄 smbmusicapsyncservercontentsscreentracemanager.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber13),
							ELogLevelLowest,
							KContentsScreenTraceManager13,
							aListHandle);
#endif
	TInt index = KSmbMusicAPSyncEngineNoActiveFocusVal;

	// 巜掕僴儞僪儖偺儕僗僩傪庢摼偡傞乮嵞惗夋柺慗堏乯
	iPlayScreenTrace->GetList(aListHandle, index);

	return index;
	}


/**
 儗僕儏乕儉忣曬傪惗惉偡傞
 * @param [in]	aListHandle	嵞惗偡傞嬋儕僗僩僴儞僪儖
 * @return					張棟偺惉斲乮ETrue:儕僗僩僴儞僪儖奩摉桳傝丄EFalse:儕僗僩僴儞僪儖奩摉柍偟乯
 */
TBool CSmbMusicAPSyncServerContentsScreenTraceManager::SetResume(TInt aListHandle)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager14, "SyncServerContentsScreenTraceManager::SetResume()");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber14),
							ELogLevelLowest,
							KContentsScreenTraceManager14);
#endif
	// 巜掕僴儞僪儖偺儕僗僩傪庢摼偡傞乮僇儗儞僩夋柺慗堏乯
	CSmbMusicAPSyncServerContentsList* list = iCurrentScreenTrace->GetList(aListHandle);

	if(list)
		{
		if(EFalse != iCurrentScreenTrace->Copy(*iPlayScreenTrace))
			{
			iModel.SetContentsResumeInfoAvailable(ETrue);
			return ETrue;
			}
		else
			{
			return EFalse;
			}
		}
	else
		{
		// 巜掕僴儞僪儖偺儕僗僩傪庢摼偡傞乮嵞惗夋柺慗堏乯
		list = iPlayScreenTrace->GetList(aListHandle);

//@@TRK11825	Delete Start
//		if(list)
//			{// 儕僗僩偑偁傞応崌
//
//			return iPlayScreenTrace->Copy(*iCurrentScreenTrace);
//			}
//@@TRK11825	Delete End

//@@TRK11825	Add Start
		//尰嵼昞帵偟偰偄傞夋柺慗堏偲堘偆夋柺慗堏傪嵞惗偡傞偙偲偑偁傞
		//椺偊偽丗嵞惗拞偱暿偺嬋傪専嶕拞偵掅揹埑偑敪惗偟偨応崌
		if(NULL != list)
			{
			//堦墳丄儗僕儏乕儉忣曬桳岠僼儔僌傪愝掕偟傑偡
			iModel.SetContentsResumeInfoAvailable(ETrue);

			//婛偵嵞惗夋柺慗堏偵巜掕偝傟偨儕僗僩偑懚嵼偡傞偺偱壗傕偟傑偣傫
			return ETrue;
			}
//@@TRK11825	Add End

		else
			{
			_LIT(KContentsScreenTraceManager15, "SyncServerContentsScreenTraceManager::SetResume() List Not Found aListHandle:0x%08x");
			SmbMusicAPSyncServerLog(iLog,
									(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber15),
									ELogLevelHigh,
									KContentsScreenTraceManager15,
									aListHandle);
			return EFalse;
			}
		}
	}


/**
 儗僕儏乕儉忣曬傪攋婞偡傞
 * @param	側偟
 * @return	側偟
 */
void CSmbMusicAPSyncServerContentsScreenTraceManager::DeleteResume()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager16, "SyncServerContentsScreenTraceManager::DeleteResume()");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber16),
							ELogLevelLowest,
							KContentsScreenTraceManager16);
#endif
//@@TRK9521懳墳	Start
//	// 僆儕僕僫儖僾儗僀儕僗僩偼晄梫偵側傞偨傔丄嶍彍偡傞
//	DeleteOriginalPLList();
//@@TRK9521懳墳	End

	iPlayScreenTrace ->Reset();
	}


/**
 巜掕偟偨傾僀僥儉偑儗僕儏乕儉忣曬偐偳偆偐傪敾掕偡傞
 * @param [in]	aMWMusicLibItem		懳徾偲側傞MWLib傾僀僥儉
 * @return							敾掕寢壥乮ETrue:YES EFalse:No乯
 */
TBool CSmbMusicAPSyncServerContentsScreenTraceManager::CheckResume(CSmbMusicMWLibMusicItem& aMWMusicLibItem)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager17, "SyncServerContentsScreenTraceManager::CheckResume()");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber17),
							ELogLevelLowest,
							KContentsScreenTraceManager17);
#endif

	// 捛壛懳徾偺儕僗僩偑儗僕儏乕儉忣曬偵側偭偰偄傟偽丄儗僕儏乕儉忣曬傪攋婞偡傞
	CSmbMusicAPSyncServerContentsList*	nowPlayList = iPlayScreenTrace->GetLastList();
	if(nowPlayList)
		{
		CSmbMusicMWLibListItem& nowPlayListItem = nowPlayList->GetListItem();
		if(nowPlayListItem == aMWMusicLibItem)
			{
			return ETrue;
			}
		}

	return EFalse;
	}


/**
 *  儕僗僩偵傾僀僥儉傪愝掕偡傞
 *  @param[in]	aListHandle	儕僗僩僴儞僪儖
 *  @param[in]	aIndex		堦棗偱偺僀儞僨僢僋僗
 *  @param[in]	aItem		儔僀僽儔儕MW偐傜庢摼偟偨傾僀僥儉偺億僀儞僞
 *  @param[in]	aDispString	昞帵暥帤楍
 *  @param[in]	aAvailable	傾僀僥儉偺棙梡壜斲忣曬(僨僼僅儖僩:棙梡壜)
 *  @param[in]	aLimitation	嵞惗惂尷忣曬(僨僼僅儖僩:嵞惗惂尷側偟)
 *  @return 愝掕偺惉斲
 **/
TBool CSmbMusicAPSyncServerContentsScreenTraceManager::SetItem(
		TInt aListHandle,
		TInt aIndex,
		const TDesC& aDispString,
		TInt aAvailable/*=ESmbMusicAPSyncEngineOK*/,
		TSmbMusicAPSyncEngineLimitation aLimitation/*=ESmbMusicAPSyncEngineLimitNone*/
		)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager18, "SyncServerContentsScreenTraceManager::SetItem(aListHandle:0x%08x aIndex:%d aItem:0x%08x aDispString:%d aAvailable:%08x aLimitation:%d)");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber18),
							ELogLevelLowest,
							KContentsScreenTraceManager18,
							aListHandle,
							aIndex,
							aDispString.Length(),
							aAvailable,
							aLimitation);
#endif
	if(0 >= aIndex)
		{
		_LIT(KContentsScreenTraceManager19,"SyncServerContentsScreenTraceManager::SetItem() Invalid Index  %d");
		SmbMusicAPSyncServerLog(iLog,
								(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber19),
								ELogLevelHigh,
								KContentsScreenTraceManager19,
								aIndex);
		return EFalse;
		}

	// 僆儕僕僫儖僾儗僀儕僗僩偺応崌
	if(iOriginalPLList)
		{
		if(iOriginalPLList->GetListHandle() == aListHandle)
			{
			iOriginalPLList->SetItem(aIndex, aDispString, aAvailable, aLimitation);
			return ETrue;
			}
		}

	// 巜掕僴儞僪儖偺儕僗僩傪庢摼偡傞乮僇儗儞僩夋柺慗堏乯
	CSmbMusicAPSyncServerContentsList* list = iCurrentScreenTrace->GetList(aListHandle);

	if(list)
		{
		list->SetItem(aIndex, aDispString, aAvailable, aLimitation);
		return ETrue;
		}
	else
		{
		// 巜掕僴儞僪儖偺儕僗僩傪庢摼偡傞乮嵞惗夋柺慗堏乯
		list = iPlayScreenTrace->GetList(aListHandle);
		if(list)
			{
			list->SetItem(aIndex, aDispString, aAvailable, aLimitation);
			return ETrue;
			}
		else
			{
			_LIT(KContentsScreenTraceManager20, "SyncServerContentsScreenTraceManager::SetItem() List Not Found aListHandle:0x%08x");
			SmbMusicAPSyncServerLog(iLog,
									(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber20),
									ELogLevelHigh,
									KContentsScreenTraceManager20,
									aListHandle);
			return EFalse;
			}
		}
	}


/**
 僆儕僕僫儖僾儗僀儕僗僩偺堦棗傪攋婞偡傞乮僾儗僀儕僗僩崁栚 捛壛/忋彂偒 梡乯
 * @param 	側偟
 * @return	側偟
 */
void CSmbMusicAPSyncServerContentsScreenTraceManager::DeleteOriginalPLList()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager21, "SyncServerContentsScreenTraceManager::DeleteOriginalPLList()");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber21),
							ELogLevelLowest,
							KContentsScreenTraceManager21);
#endif
	delete iOriginalPLList;
	iOriginalPLList = 0;
	}


/**
 儕僗僩偺傾僀僥儉忣曬傪慡偰攋婞偡傞
 * @param [in]	aListHandle		儕僗僩僴儞僪儖
 * @return						側偟
 */
void CSmbMusicAPSyncServerContentsScreenTraceManager::DeleteItem(TInt aListHandle)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager22, "SyncServerContentsScreenTraceManager::DeleteItem(aListHandle:0x%08x)");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber22),
							ELogLevelLowest,
							KContentsScreenTraceManager22,
							aListHandle);
#endif
	CSmbMusicAPSyncServerContentsList* list = GetList(aListHandle);

	if(list)
		{
		list->DeleteAllItem();
		}
	// list偼強桳尃偑側偄偺偱Delete偟側偄
	}


/**
 慡儕僗僩偺傾僀僥儉忣曬傪慡偰攋婞偡傞
 * @param 	側偟
 * @return	側偟
 */
void CSmbMusicAPSyncServerContentsScreenTraceManager::DeleteAllItem()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager23, "SyncServerContentsScreenTraceManager::DeleteAllItem()");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber23),
							ELogLevelLowest,
							KContentsScreenTraceManager23);
#endif

	iCurrentScreenTrace	-> DeleteAllItem();
	iPlayScreenTrace	-> DeleteAllItem();
//  ADD-S  [iKeeper(TRK):11576] 慡傾僀僥儉嶍彍帪偵僆儕僕僫儖僾儗僀儕僗僩傕懳徾偲偡傞懳張
	if (iOriginalPLList != NULL)
		{	//  嬋捛壛梡僾儗僀儕僗僩偑搊榐偝傟偰偄傞応崌
		//  僾儗僀儕僗僩撪偺傾僀僥儉傕嶍彍偡傞
		iOriginalPLList -> DeleteAllItem();
		}
//  ADD-E  [iKeeper(TRK):11576] 慡傾僀僥儉嶍彍帪偵僆儕僕僫儖僾儗僀儕僗僩傕懳徾偲偡傞懳張
	}


/**
 儗僕儏乕儉忣曬埲奜傪弶婜壔偡傞
 * @param 	側偟
 * @return	側偟
 */
void CSmbMusicAPSyncServerContentsScreenTraceManager::ResetWithoutResume()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager24, "SyncServerContentsScreenTraceManager::ResetWithoutResume()");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber24),
							ELogLevelLowest,
							KContentsScreenTraceManager24);
#endif
	// 僆儕僕僫儖僾儗僀儕僗僩偼晄梫偵側傞偨傔丄嶍彍偡傞
	DeleteOriginalPLList();

	iCurrentScreenTrace ->Reset();
	}


/**
 撪晹傪弶婜壔偡傞
 * @param 	側偟
 * @return	側偟
 */
void CSmbMusicAPSyncServerContentsScreenTraceManager::ResetAll()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager25, "SyncServerContentsScreenTraceManager::ResetAll()");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber25),
							ELogLevelLowest,
							KContentsScreenTraceManager25);
#endif
	// 僆儕僕僫儖僾儗僀儕僗僩偼晄梫偵側傞偨傔丄嶍彍偡傞
	DeleteOriginalPLList();

	iCurrentScreenTrace	->Reset();
	iPlayScreenTrace	->Reset();
	}


/**
 僐儞僗僩儔僋僞
 * @param [in]	aLog	RLog偺嶲徠
 * @param [in]	aModel	儌僨儖僋儔僗偺嶲徠
 * @return				側偟
 */
CSmbMusicAPSyncServerContentsScreenTraceManager::CSmbMusicAPSyncServerContentsScreenTraceManager(DCM_NAMESPACE::RLog& aLog, CSmbMusicAPSyncServerModel& aModel)
	:iLog(aLog),iModel(aModel)
	{
	}


/**
 2僼僃乕僘僐儞僗僩儔僋僞
 * @param	側偟
 * @return	側偟
 */
void CSmbMusicAPSyncServerContentsScreenTraceManager::ConstructL()
	{
	iCurrentScreenTrace	= new(ELeave) CSmbMusicAPSyncServerContentsScreenTrace(iLog);
	iPlayScreenTrace	= new(ELeave) CSmbMusicAPSyncServerContentsScreenTrace(iLog);
	}


// end of SmbMusicAPSyncServerContentsScreenTraceManager.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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