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

📄 smbmusicapsyncservercontentsscreentracemanager.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPSyncServerContentsScreenTraceManager.cpp
//
// Description:
//	PTX810 Music傾僾儕 摨婜僒乕僶 僐儞僥儞僣僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰			|撪梕
//--------------+---------------+--------------------------------------
//2006/06/09	|SDNA 壀嶳		| 怴婯嶌惉
//2006/09/18	|SDNA 壀嶳		| TRK9202懳墳
//2006/09/20	|娵壀			| TRK9521懳墳
//2006/09/22	|K3悪杮			| [iKeeper(TRK):9483] 僆儕僕僫儖僾儗僀儕僗僩嶍彍僞僀儈儞僌懳張
//2006/10/10	|K3悪杮			| 儘僌廋惓
//2006/10/14	|K3悪杮			| [iKeeper(TRK):11576] 慡傾僀僥儉嶍彍帪偵僆儕僕僫儖僾儗僀儕僗僩傕懳徾偲偡傞懳張
//2006/10/23	|娵壀			| TRK11825懳墳
//2006/10/31	|K3悪杮			| [iKeeper(TRK):12279] 儗僕儏乕儉忣曬偑僇儗儞僩偵惓偟偔暅婣偱偒偰偄側偐偭偨栤戣偺廋惓


#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSCREENTRACEMANAGER_H__
#include "SmbMusicAPSyncServerContentsScreenTraceManager.h"
#endif

#ifndef __SMBMUSICAPSYNCSERVERUTIL_H__
#include "SmbMusicAPSyncServerUtil.h"
#endif

#ifndef __SMBMUSICAPSYNCSERVERMODEL_H__
#include "SmbMusicAPSyncServerModel.h"
#endif

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSLIST_H__
#include "SmbMusicAPSyncServerContentsList.h"
#endif

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSCREENTRACE_H__
#include "SmbMusicAPSyncServerContentsScreenTrace.h"
#endif

USING_NAMESPACE_SEMCJ


/**
 僼傽僋僩儕娭悢
 * @param [in]	aLog	RLog偺嶲徠
 * @param [in]	aModel	儌僨儖僋儔僗偺嶲徠
 * @return				僐儞僥儞僣偺夋柺慗堏娗棟僋儔僗偺億僀儞僞
 */
CSmbMusicAPSyncServerContentsScreenTraceManager* CSmbMusicAPSyncServerContentsScreenTraceManager::NewL(DCM_NAMESPACE::RLog& aLog, CSmbMusicAPSyncServerModel& aModel)
	{
	CSmbMusicAPSyncServerContentsScreenTraceManager* self = new(ELeave) CSmbMusicAPSyncServerContentsScreenTraceManager(aLog, aModel);
	CleanupStack::PushL(self);
	self->ConstructL();
	CleanupStack::Pop();		// self
	return self;
	}


/**
 僨僗僩儔僋僞
 * @param	側偟
 * @return	側偟
 */
CSmbMusicAPSyncServerContentsScreenTraceManager::~CSmbMusicAPSyncServerContentsScreenTraceManager()
	{
	delete	iCurrentScreenTrace;
	iCurrentScreenTrace = 0;
	delete	iPlayScreenTrace;
	iPlayScreenTrace = 0;
	delete iOriginalPLList;
	iOriginalPLList = 0;
	}


/**
 堦偮慜偺儕僗僩偺忣曬傪庢摼偡傞
 * @param [in]	aListHandle	儕僗僩僴儞僪儖
 * @param [out]	aListInfo	慗堏尦儕僗僩忣曬乮摨婜僄儞僕儞掕媊乯
 * @return
 */
TBool CSmbMusicAPSyncServerContentsScreenTraceManager::GetPrevListInfo(TInt aListHandle, TSmbMusicAPSyncEnginePrevListInfo& aListInfo)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager00, "SyncServerContentsScreenTraceManager::GetPrevListInfo(aListHandle:0x%08x)");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber00),
							ELogLevelLowest,
							KContentsScreenTraceManager00,
							aListHandle);
#endif
//  DEL-S  [iKeeper(TRK):9483] 僆儕僕僫儖僾儗僀儕僗僩嶍彍僞僀儈儞僌懳張
//	// 僆儕僕僫儖僾儗僀儕僗僩偼晄梫偵側傞偨傔丄嶍彍偡傞
//	DeleteOriginalPLList();
//  DEL-E  [iKeeper(TRK):9483] 僆儕僕僫儖僾儗僀儕僗僩嶍彍僞僀儈儞僌懳張

	TInt index = KSmbMusicAPSyncEngineNoActiveFocusVal;

	// 僇儗儞僩夋柺慗堏傪専嶕偡傞
	CSmbMusicAPSyncServerContentsList* prevList = iCurrentScreenTrace->GetPrevList(aListHandle, index);

	if(prevList == 0)
		{
		// 嵞惗夋柺慗堏傪専嶕偡傞
		prevList = iPlayScreenTrace->GetPrevList(aListHandle, index);

		if(prevList)
			{
			// 僇儗儞僩夋柺慗堏偵僐僺乕偡傞
			iCurrentScreenTrace ->Reset();
			if(EFalse == iPlayScreenTrace->Copy(*iCurrentScreenTrace, aListHandle))
				{
				return EFalse;
				}
			}
		}

	if(prevList)
		{// 慗堏尦偑儕僗僩偺応崌
		aListInfo.iListInfo				= ETrue;													// 慗堏尦儕僗僩忣曬偑儕僗僩傾僀僥儉偐斲偐
		aListInfo.iListItem.iListHandle	= prevList->GetListHandle();								// 慗堏尦偺儕僗僩僴儞僪儖
		aListInfo.iListItem.iIndex		= index;													// 尰嵼偺儕僗僩傾僀僥儉偺Index斣崋
		aListInfo.iListType				= prevList->GetListType();									// 儕僗僩僴儞僪儖偑帵偡儕僗僩庬暿

		return ETrue;
		}
	else
		{
		CSmbMusicAPSyncServerContentsList* list = iCurrentScreenTrace->GetList(aListHandle);
		if(list == 0)
			{
			list = iPlayScreenTrace->GetList(aListHandle);
//  ADD-S  [iKeeper(TRK):12279] 儗僕儏乕儉忣曬偑僇儗儞僩偵惓偟偔暅婣偱偒偰偄側偐偭偨栤戣偺廋惓
			if (list != NULL)
				{  //  僇儗儞僩夋柺慗堏偵奩摉儕僗僩偑側偔丄儗僕儏乕儉忣曬偵奩摉儕僗僩偑偁偭偨応崌
				// 僇儗儞僩夋柺慗堏偵僐僺乕偡傞
				iCurrentScreenTrace -> Reset();
				if(EFalse == iPlayScreenTrace->Copy(*iCurrentScreenTrace, aListHandle))
					{	//  僐僺乕偵幐攕偟偨応崌
					return EFalse;
					}
				}
//  ADD-E  [iKeeper(TRK):12279] 儗僕儏乕儉忣曬偑僇儗儞僩偵惓偟偔暅婣偱偒偰偄側偐偭偨栤戣偺廋惓
			}

		if(list)
			{
			TSmbMusicAPSyncEngineSearchCondition searchCondition;
			TBool result = list->GetSearchTopCondition(searchCondition);
			if(EFalse != result)
				{// 儕僗僩偑僩僢僾梡偩偭偨応崌
				aListInfo.iListInfo				= EFalse;											// 慗堏尦儕僗僩忣曬偑儕僗僩傾僀僥儉偐斲偐
				aListInfo.iListType				= list->GetListType();								// 儕僗僩僴儞僪儖偑帵偡儕僗僩庬暿
				aListInfo.iSearchCondition		= searchCondition;									// 専嶕忣曬乮慗堏尦偑専嶕Top偩偭偨応崌乯
				return ETrue;
				}
			else
				{// 儕僗僩偑僩僢僾梡偱偼側偐偭偨応崌
				return EFalse;
				}
			}
		else
			{// 巜掕偝傟偨儕僗僩偑尒偮偐傜側偄応崌
			return EFalse;
			}
		}
	}


/**
 Top儕僗僩傪愝掕偡傞
 * @param [in]	aList	僐儞僥儞僣儕僗僩僋儔僗偺億僀儞僞
 * @return				愝掕偺惉斲
 */
void CSmbMusicAPSyncServerContentsScreenTraceManager::SetTopList(CSmbMusicAPSyncServerContentsList* aList)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager01, "SyncServerContentsScreenTraceManager::SetTopList(aList:0x%08x)");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber01),
							ELogLevelLowest,
							KContentsScreenTraceManager01,
							aList);
#endif
	// 僆儕僕僫儖僾儗僀儕僗僩偼晄梫偵側傞偨傔丄嶍彍偡傞
	DeleteOriginalPLList();

	iCurrentScreenTrace->SetTopList(aList);
	}


/**
 儕僗僩傪愝掕偡傞
 * @param [in]	aPrevListHandle	堦偮慜偺儕僗僩偺僴儞僪儖
 * @param [in]	aIndex			堦偮慜偺儕僗僩偱偺僀儞僨僢僋僗
 * @param [in]	aList			僐儞僥儞僣儕僗僩僋儔僗偺億僀儞僞
 * @return						愝掕偺惉斲
 */
TBool CSmbMusicAPSyncServerContentsScreenTraceManager::SetList(TInt aPrevListHandle, TInt aIndex, CSmbMusicAPSyncServerContentsList* aList)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager02, "SyncServerContentsScreenTraceManager::SetList(aPrevListHandle:0x%08x aIndex:%d aList:0x%08x)");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber02),
							ELogLevelLowest,
							KContentsScreenTraceManager02,
							aPrevListHandle,
							aIndex,
							aList);
#endif
	// 僆儕僕僫儖僾儗僀儕僗僩偼晄梫偵側傞偨傔丄嶍彍偡傞
	DeleteOriginalPLList();

	TBool result = iCurrentScreenTrace->SetList(aPrevListHandle, aIndex, aList);

	if(EFalse == result)
		{
		_LIT(KContentsScreenTraceManager03, "SyncServerContentsScreenTraceManager::SetList() PrevList Not Found aPrevListHandle:0x%08x aIndex:%d");
		SmbMusicAPSyncServerLog(iLog,
								(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber03),
								ELogLevelHigh,
								KContentsScreenTraceManager03,
								aPrevListHandle,
								aIndex);
		}

	return result;
	}


/**
 僆儕僕僫儖僾儗僀儕僗僩偺堦棗傪愝掕偡傞乮僾儗僀儕僗僩崁栚 捛壛/忋彂偒 梡乯
 * @param [in]	aList			僐儞僥儞僣儕僗僩僋儔僗偺億僀儞僞
 * @return						側偟
 */
void CSmbMusicAPSyncServerContentsScreenTraceManager::SetOriginalPLList(CSmbMusicAPSyncServerContentsList* aList)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager04, "SyncServerContentsScreenTraceManager::SetOriginalPLList(aList:0x%08x)");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber04),
							ELogLevelLowest,
							KContentsScreenTraceManager04,
							aList);
#endif
	if(aList)
		{
		delete iOriginalPLList;
		iOriginalPLList = 0;
		iOriginalPLList = aList;
		}
	else
		{
		_LIT(KContentsScreenTraceManager05, "SyncServerContentsScreenTraceManager::SetOriginalPLList() List Null !");
		SmbMusicAPSyncServerLog(iLog,
								(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber05),
								ELogLevelHigh,
								KContentsScreenTraceManager05);
		}
	}


/**
 儕僗僩傪庢摼偡傞
 * @param [in]	aListHandle		儕僗僩僴儞僪儖
 * @return						僐儞僥儞僣儕僗僩僋儔僗偺億僀儞僞乮強桳尃傪堏忳偟側偄乯
 */
CSmbMusicAPSyncServerContentsList* CSmbMusicAPSyncServerContentsScreenTraceManager::GetList(TInt aListHandle)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager06, "SyncServerContentsScreenTraceManager::GetList(aListHandle:0x%08x)");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber06),
							ELogLevelLowest,
							KContentsScreenTraceManager06,
							aListHandle);
#endif
	if(iOriginalPLList)
		{
		if(iOriginalPLList->GetListHandle() == aListHandle)
			{
				return iOriginalPLList;
			}
		}

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

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


/**
 嵞惗夋柺慗堏偺嵟屻偺儕僗僩傪庢摼偡傞
 * @param [in]	aListHandle		儕僗僩僴儞僪儖
 * @return						僐儞僥儞僣儕僗僩僋儔僗偺億僀儞僞乮強桳尃傪堏忳偟側偄乯
 */
CSmbMusicAPSyncServerContentsList* CSmbMusicAPSyncServerContentsScreenTraceManager::GetLastListFromPlayScreenTrace()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager11, "SyncServerContentsScreenTraceManager::GetLastListFromPlayScreenTrace()");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber11),
							ELogLevelLowest,
							KContentsScreenTraceManager11);
#endif

	return iPlayScreenTrace->GetLastList();
	}


/**
 僆儕僕僫儖僾儗僀儕僗僩偺堦棗傪庢摼偡傞乮僾儗僀儕僗僩崁栚 捛壛/忋彂偒 梡乯
 * @param	側偟
 * @return	僐儞僥儞僣儕僗僩僋儔僗偺億僀儞僞
 */
CSmbMusicAPSyncServerContentsList* CSmbMusicAPSyncServerContentsScreenTraceManager::GetOriginalPLList()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager12, "SyncServerContentsScreenTraceManager::GetOriginalPLList()");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsScreenTraceManager|EMusicAPSyncServerLocationNumber12),
							ELogLevelLowest,
							KContentsScreenTraceManager12);
#endif
	return iOriginalPLList;
	}


/**
 傾僋僥傿僽僼僅乕僇僗傪庢摼偡傞
 * @param [in]	aListHandle		儕僗僩僴儞僪儖
 * @return						傾僋僥傿僽僼僅乕僇僗偺僀儞僨僢僋僗
 */
TInt CSmbMusicAPSyncServerContentsScreenTraceManager::GetActiveFocus(TInt aListHandle)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsScreenTraceManager13, "SyncServerContentsScreenTraceManager::GetActiveFocus(aListHandle:0x%08x)");

⌨️ 快捷键说明

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