📄 smbmusicapsyncservercontentsscreentrace.cpp
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerContentsScreenTrace.cpp
//
// Description:
// PTX810 Music傾僾儕 摨婜僒乕僶 僐儞僥儞僣僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+---------------+--------------------------------------
//2006/06/09 |SDNA 壀嶳 |怴婯嶌惉
//2006/09/18 |SDNA 壀嶳 |TRK9202懳墳
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSCREENTRACE_H__
#include "SmbMusicAPSyncServerContentsScreenTrace.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERUTIL_H__
#include "SmbMusicAPSyncServerUtil.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSLIST_H__
#include "SmbMusicAPSyncServerContentsList.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSLISTHANDLE_H__
#include "SmbMusicAPSyncServerContentsListHandle.h"
#endif
USING_NAMESPACE_SEMCJ
/**
僐儞僗僩儔僋僞
* @param [in/out/in,out] aLog RLog偺嶲徠
* @return 側偟
*/
CSmbMusicAPSyncServerContentsScreenTrace::CSmbMusicAPSyncServerContentsScreenTrace(DCM_NAMESPACE::RLog& aLog)
:iLog(aLog)
{
}
/**
僨僗僩儔僋僞
* @param 側偟
* @return 側偟
*/
CSmbMusicAPSyncServerContentsScreenTrace::~CSmbMusicAPSyncServerContentsScreenTrace()
{
Reset();
iListArray.Close();
}
/**
撪晹傪弶婜壔偡傞丅
* @param 側偟
* @return 側偟
*/
void CSmbMusicAPSyncServerContentsScreenTrace::Reset()
{
iListArray.ResetAndDestroy();
}
/**
儕僗僩傪庢摼偡傞
* @param [in] aListHandle 儕僗僩僴儞僪儖
* @return 儕僗僩僋儔僗偺億僀儞僞乮強桳尃傪堏忳偟側偄乯
*/
CSmbMusicAPSyncServerContentsList* CSmbMusicAPSyncServerContentsScreenTrace::GetList(TInt aListHandle)
{
TInt count = iListArray.Count();
// 強帩偟偰偄傞儕僗僩僴儞僪儖僋儔僗偐傜丄奩摉偺儕僗僩傪専嶕偡傞丅
for(TInt i=0; i<count; i++)
{
CSmbMusicAPSyncServerContentsList& list = iListArray[i]->GetList();
if(list.GetListHandle() == aListHandle)
{
return &list;
}
}
return 0;
}
/**
儕僗僩傪庢摼偡傞
* @param [in] aListHandle 儕僗僩僴儞僪儖
* @param [in] aIndex 僀儞僨僢僋僗傪奿擺偡傞曄悢偺嶲徠
* @return 儕僗僩僋儔僗偺億僀儞僞乮強桳尃傪堏忳偟側偄乯
*/
CSmbMusicAPSyncServerContentsList* CSmbMusicAPSyncServerContentsScreenTrace::GetList(TInt aListHandle, TInt& aSelectedIndex)
{
aSelectedIndex = KSmbMusicAPSyncEngineNoActiveFocusVal;
TInt count = iListArray.Count();
// 強帩偟偰偄傞儕僗僩僴儞僪儖僋儔僗偐傜丄奩摉偺儕僗僩傪専嶕偡傞丅
for(TInt i=0; i<count; i++)
{
CSmbMusicAPSyncServerContentsList& list = iListArray[i]->GetList();
if(list.GetListHandle() == aListHandle)
{
aSelectedIndex = iListArray[i]->GetIndex();
return &list;
}
}
return 0;
}
/**
巜掕偝傟偨儕僗僩偺慜偺儕僗僩傪庢摼偡傞
* @param [in] aListHandle 儕僗僩僴儞僪儖
* @param [in] aIndex 僀儞僨僢僋僗傪奿擺偡傞曄悢偺嶲徠
* @return 儕僗僩僋儔僗偺億僀儞僞乮強桳尃傪堏忳偟側偄乯
*/
CSmbMusicAPSyncServerContentsList* CSmbMusicAPSyncServerContentsScreenTrace::GetPrevList(TInt aListHandle, TInt& aSelectedIndex)
{
aSelectedIndex = KSmbMusicAPSyncEngineNoActiveFocusVal;
TInt count = iListArray.Count();
for(TInt i=1; i<count; i++) // 愭摢偺儕僗僩偵偼丄偦偺慜偺儕僗僩偑柍偄偺偱僠僃僢僋懳徾奜偲偡傞
{
CSmbMusicAPSyncServerContentsList& list = iListArray[i]->GetList();
if(list.GetListHandle() == aListHandle)
{
aSelectedIndex = iListArray[i-1]->GetIndex();
// 僴儞僪儖偑堦抳偟偨儕僗僩偺慜偺儕僗僩偺億僀儞僞傪曉偡
CSmbMusicAPSyncServerContentsList& prevList = iListArray[i-1]->GetList();
return &prevList;
}
}
return 0;
}
/**
嵟屻偺儕僗僩傪庢摼偡傞
* @param [in] aListHandle 儕僗僩僴儞僪儖
* @param [in] aIndex 僀儞僨僢僋僗傪奿擺偡傞曄悢偺嶲徠
* @return 儕僗僩僋儔僗偺億僀儞僞乮強桳尃傪堏忳偟側偄乯
*/
CSmbMusicAPSyncServerContentsList* CSmbMusicAPSyncServerContentsScreenTrace::GetLastList()
{
TInt count = iListArray.Count();
if(0 < count)
{
CSmbMusicAPSyncServerContentsList& list = iListArray[count-1]->GetList();
return &list;
}
else
{
return 0;
}
}
/**
愭摢偵儕僗僩傪愝掕偡傞
* @param [in] aContentsList 儕僗僩僋儔僗偺億僀儞僞
* @return 側偟
*/
void CSmbMusicAPSyncServerContentsScreenTrace::SetTopList(CSmbMusicAPSyncServerContentsList* aList)
{
Reset();
if(0 == aList)
{
_LIT(KContentsScreenTrace00, "SyncServerContentsScreenTrace::SetTopList() aList is Null");
SmbMusicAPSyncServerLog(iLog,
(EMusicAPSyncServerClassNumber_ContentsScreenTrace|EMusicAPSyncServerLocationNumber00),
ELogLevelHigh,
KContentsScreenTrace00);
return;
}
CSmbMusicAPSyncServerContentsListHandle* handle = 0;
TRAPD(err, handle = new(ELeave)CSmbMusicAPSyncServerContentsListHandle(iLog, aList););
if(KErrNone != err)
{
_LIT(KContentsScreenTrace01, "SyncServerContentsScreenTrace::SetTopList() new(ELeave) Leave %d");
SmbMusicAPSyncServerLog(iLog,
(EMusicAPSyncServerClassNumber_ContentsScreenTrace|EMusicAPSyncServerLocationNumber01),
ELogLevelHighest,
KContentsScreenTrace01,
err);
ASSERT(EFalse);
}
TInt result = iListArray.Append(handle);
if(KErrNone != result)
{
_LIT(KContentsScreenTrace02, "SyncServerContentsScreenTrace::SetTopList() iListArray.Append() Err %d");
SmbMusicAPSyncServerLog(iLog,
(EMusicAPSyncServerClassNumber_ContentsScreenTrace|EMusicAPSyncServerLocationNumber02),
ELogLevelHigh,
KContentsScreenTrace02,
result);
delete handle;
handle = 0;
}
}
/**
巜掕偟偨儕僗僩偺師偵儕僗僩傪愝掕偡傞
* @param [in] aPrevListHandle 堦偮慜偺儕僗僩偺僴儞僪儖
* @param [in] aIndex 堦偮慜偺儕僗僩偱偺僀儞僨僢僋僗
* @param [in] aContentsList 儕僗僩僋儔僗偺億僀儞僞
* @return 儕僗僩愝掕偺惉斲
*/
TBool CSmbMusicAPSyncServerContentsScreenTrace::SetList(TInt aPrevListHandle, TInt aIndex, CSmbMusicAPSyncServerContentsList* aList)
{
if(0 == aList)
{
_LIT(KContentsScreenTrace03, "SyncServerContentsScreenTrace::SetList() aList is Null");
SmbMusicAPSyncServerLog(iLog,
(EMusicAPSyncServerClassNumber_ContentsScreenTrace|EMusicAPSyncServerLocationNumber03),
ELogLevelHigh,
KContentsScreenTrace03);
return EFalse;
}
TInt count = iListArray.Count();
for(TInt i=0; i<count; i++)
{
CSmbMusicAPSyncServerContentsList& list = iListArray[i]->GetList();
if(list.GetListHandle() == aPrevListHandle)
{
// 僴儞僪儖偑堦抳偟偨儕僗僩埲崀偺儕僗僩偼攋婞偡傞
DeleteListToEnd(i+1);
// 慖戰偝傟偨僀儞僨僢僋僗傪曐懚偡傞
iListArray[i]->SetSelectedIndex(aIndex);
CSmbMusicAPSyncServerContentsListHandle* handle = 0;
TRAPD(err, handle = new(ELeave)CSmbMusicAPSyncServerContentsListHandle(iLog, aList););
if(KErrNone != err)
{
_LIT(KContentsScreenTrace04, "SyncServerContentsScreenTrace::SetList(TInt,TInt,CSmbMusicAPSyncServerContentsList*) new(ELeave) Leave %d");
SmbMusicAPSyncServerLog(iLog,
(EMusicAPSyncServerClassNumber_ContentsScreenTrace|EMusicAPSyncServerLocationNumber04),
ELogLevelHighest,
KContentsScreenTrace04,
err);
ASSERT(EFalse);
}
aList = 0;
TInt result = iListArray.Append(handle);
if(KErrNone == result)
{
return ETrue;
}
else
{
_LIT(KContentsScreenTrace05, "SyncServerContentsScreenTrace::SetList(TInt,TInt,CSmbMusicAPSyncServerContentsList*) iListArray.Append() Err %d");
SmbMusicAPSyncServerLog(iLog,
(EMusicAPSyncServerClassNumber_ContentsScreenTrace|EMusicAPSyncServerLocationNumber05),
ELogLevelHigh,
KContentsScreenTrace05,
result);
delete handle;
handle = 0;
return EFalse;
}
}
}
_LIT(KContentsScreenTrace06, "SyncServerContentsScreenTrace::SetList(TInt,TInt,CSmbMusicAPSyncServerContentsList*) PrevList Not Found 0x%08x");
SmbMusicAPSyncServerLog(iLog,
(EMusicAPSyncServerClassNumber_ContentsScreenTrace|EMusicAPSyncServerLocationNumber06),
ELogLevelHigh,
KContentsScreenTrace06,
aPrevListHandle);
delete aList;
aList = 0;
return EFalse;
}
/**
儕僗僩傪愝掕偡傞
* @param [in] aListHandleClass 儕僗僩僴儞僪儖僋儔僗偺億僀儞僞
* @return 側偟
*/
void CSmbMusicAPSyncServerContentsScreenTrace::SetList(CSmbMusicAPSyncServerContentsListHandle* aListHandleClass)
{
if(0 == aListHandleClass)
{
_LIT(KContentsScreenTrace07, "SyncServerContentsScreenTrace::SetList() aListHandleClass is Null");
SmbMusicAPSyncServerLog(iLog,
(EMusicAPSyncServerClassNumber_ContentsScreenTrace|EMusicAPSyncServerLocationNumber07),
ELogLevelHigh,
KContentsScreenTrace07);
return;
}
TInt result = iListArray.Append(aListHandleClass);
if(KErrNone != result)
{
_LIT(KContentsScreenTrace08, "SyncServerContentsScreenTrace::SetList(CSmbMusicAPSyncServerContentsListHandle*) iListArray.Append() Err %d");
SmbMusicAPSyncServerLog(iLog,
(EMusicAPSyncServerClassNumber_ContentsScreenTrace|EMusicAPSyncServerLocationNumber08),
ELogLevelHigh,
KContentsScreenTrace08,
result);
delete aListHandleClass;
aListHandleClass = 0;
}
}
/**
専嶕忦審偑堦抳偡傞儕僗僩傪扵偡
* @param [in] aPrevListHandle 堦偮慜偺儕僗僩偺僴儞僪儖
* @param [in] aPrevIndex 堦偮慜偺儕僗僩偱偺僀儞僨僢僋僗
* @return
*/
CSmbMusicAPSyncServerContentsList* CSmbMusicAPSyncServerContentsScreenTrace::SearchList(TInt aPrevListHandle, TInt aPrevIndex)
{
TInt count = iListArray.Count();
// 強帩偟偰偄傞儕僗僩僴儞僪儖僋儔僗偐傜丄奩摉偺儕僗僩傪専嶕偡傞丅(嵟屻偼僠僃僢僋傪峴傢側偄)
for(TInt i=0; i<count-1; i++)
{
CSmbMusicAPSyncServerContentsList& prevList = iListArray[i]->GetList();
if(prevList.GetListHandle() == aPrevListHandle && iListArray[i]->GetIndex() == aPrevIndex)
{
// 師偺儕僗僩傪曉偡
CSmbMusicAPSyncServerContentsList& list = iListArray[i+1]->GetList();
return &list;
}
}
return 0;
}
/**
巜掕儕僗僩傑偱偺暋惢傪嶌惉偡傞
* @param [in] aCopy 僐僺乕傪嶌惉偡傞夋柺慗堏僋儔僗偺嶲徠
* @param [in] aListHandle 儕僗僩僴儞僪儖
* @return 僐僺乕偺惉斲
*/
TBool CSmbMusicAPSyncServerContentsScreenTrace::Copy(CSmbMusicAPSyncServerContentsScreenTrace& aCopy, TInt aListHandle)
{
if(this == &aCopy)
{
// 巜掕偝傟偨僐僺乕愭偑帺暘偱偁偭偨応崌
_LIT(KContentsScreenTrace09, "SyncServerContentsScreenTrace::Copy() aCopy == this");
SmbMusicAPSyncServerLog(iLog,
(EMusicAPSyncServerClassNumber_ContentsScreenTrace|EMusicAPSyncServerLocationNumber09),
ELogLevelHigh,
KContentsScreenTrace09);
return EFalse;
}
// 巜掕偝傟偨慡偰偺儕僗僩僴儞僪儖僋儔僗偺僐僺乕傪嶌惉偟丄怴偟偄儕僗僩僴儞僪儖僋儔僗偵愝掕偡傞
aCopy.Reset();
TInt count = iListArray.Count();
for(TInt i=0; i<count; i++)
{
CSmbMusicAPSyncServerContentsListHandle* handle = iListArray[i]->Duplicate();
aCopy.SetList(handle);
CSmbMusicAPSyncServerContentsList& list = iListArray[i]->GetList();
if(list.GetListHandle() == aListHandle )
{
return ETrue;
}
}
//嵟屻傑偱巜掕偺儕僗僩偑尒偮偐傜側偐偭偨応崌丄儘僌傪弌椡偡傞
_LIT(KContentsScreenTrace10, "SyncServerContentsScreenTrace::Copy() List Not Found Handle:0x%08x Count:%d");
SmbMusicAPSyncServerLog(iLog,
(EMusicAPSyncServerClassNumber_ContentsScreenTrace|EMusicAPSyncServerLocationNumber10),
ELogLevelHigh,
KContentsScreenTrace10,
aListHandle,
count);
aCopy.Reset();
return EFalse;
}
/**
暋惢傪嶌惉偡傞
* @param [in] aCopy 僐僺乕傪嶌惉偡傞夋柺慗堏僋儔僗偺嶲徠
* @return 僐僺乕偺惉斲
*/
TBool CSmbMusicAPSyncServerContentsScreenTrace::Copy(CSmbMusicAPSyncServerContentsScreenTrace& aCopy)
{
if(this == &aCopy)
{
// 巜掕偝傟偨僐僺乕愭偑帺暘偱偁偭偨応崌
_LIT(KContentsScreenTrace11, "SyncServerContentsScreenTrace::Copy() aCopy == this");
SmbMusicAPSyncServerLog(iLog,
(EMusicAPSyncServerClassNumber_ContentsScreenTrace|EMusicAPSyncServerLocationNumber11),
ELogLevelHigh,
KContentsScreenTrace11);
return EFalse;
}
// 慡偰偺儕僗僩僴儞僪儖僋儔僗偺僐僺乕傪嶌惉偟丄怴偟偄儕僗僩僴儞僪儖僋儔僗偵愝掕偡傞
aCopy.Reset();
TInt count = iListArray.Count();
for(TInt i=0; i<count; i++)
{
CSmbMusicAPSyncServerContentsListHandle* handle = iListArray[i]->Duplicate();
aCopy.SetList(handle);
}
return ETrue;
}
/**
慡儕僗僩偺傾僀僥儉忣曬傪慡偰攋婞偡傞
* @param 側偟
* @return 側偟
*/
void CSmbMusicAPSyncServerContentsScreenTrace::DeleteAllItem()
{
TInt count = iListArray.Count();
for(TInt i=0; i<count; i++)
{
CSmbMusicAPSyncServerContentsList& list = iListArray[i]->GetList();
list.DeleteAllItem();
}
}
/**
巜掕偝傟偨僀儞僨僢僋僗埲崀偺儕僗僩傪嶍彍偡傞
* @param [in] aIndexArray 嶍彍偡傞愭摢儕僗僩偺攝楍僀儞僨僢僋僗
* @return 側偟
*/
void CSmbMusicAPSyncServerContentsScreenTrace::DeleteListToEnd(TInt aIndexArray)
{
TInt count = iListArray.Count();
if(0 > aIndexArray || count < aIndexArray)
{
_LIT(KContentsScreenTrace12, "SyncServerContentsScreenTrace::DeleteListToEnd() count:%d < aIndexArray:%d");
SmbMusicAPSyncServerLog(iLog,
(EMusicAPSyncServerClassNumber_ContentsScreenTrace|EMusicAPSyncServerLocationNumber12),
ELogLevelHigh,
KContentsScreenTrace12,
count,
aIndexArray);
return;
}
for(TInt i=aIndexArray; i<count; i++)
{
CSmbMusicAPSyncServerContentsListHandle* handle = iListArray[aIndexArray];
iListArray.Remove(aIndexArray);
delete handle;
handle = 0;
}
}
// end of SmbMusicAPSyncServerContentsScreenTrace.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -