📄 smbmusicapsyncservercontentsservicegetlisttitle.cpp
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerContentsServiceGetListTitle.cpp
//
// Description:
// 儕僗僩偺僞僀僩儖庢摼梫媮僒乕價僗
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+-----------+----------------------------------------------
//2006/06/16 |K3悪杮 | 怴婯嶌惉
//2006/07/18 |K3悪杮 | 儘僌弌椡廋惓
//2006/10/13 |K3悪杮 | [iKeeper(TRK):9001] SS偵傛傞枹擖椡崁栚懳墳
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICEGETLISTTITLE_H__
#include "SmbMusicAPSyncServerContentsServiceGetListTitle.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSSERVICEGETLISTTITLE_H__
#ifndef __E32ERR_H__
#include <e32err.h> // 僄儔乕僐乕僪
#endif // __E32ERR_H__
#ifndef __SMBMUSICAPSYNCSERVERDEF_H__
#include <SmbMusicAPSyncServerDef.h>
#endif // __SMBMUSICAPSYNCSERVERDEF_H__
#ifndef __SMBMUSICMWLIBCLIENT_H__
#include <SmbMusicMWLibClient.h> // CSmbMusicMWLibPLItem
#endif // __SMBMUSICMWLIBCLIENT_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSCREENTRACEMANAGER_H__
#include "SmbMusicAPSyncServerContentsScreenTraceManager.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSSCREENTRACEMANAGER_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSLIST_H__
#include "SmbMusicAPSyncServerContentsList.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSLIST_H__
USING_NAMESPACE_SEMCJ
/**
* 僐儞僗僩儔僋僞
*
* @param[in] aRlog 儘僌僒乕僶
* @param[in] aModel 摨婜僒乕僶儌僨儖
* @param[in] aObserver 旕摨婜僆僽僓乕僶
* @param[in] aFunc 僼傽儞僋僔儑儞
* @param[in] aManagerInterface 儅僱乕僕儍僀儞僞僼僃乕僗
* @param[in] aScreenData 僗僋儕乕儞僩儗乕僗儅僱乕僕儍
* @param[in] aRMessage 僋儔僀傾儞僩偐傜偺儊僢僙乕僕
**/
CSmbMusicAPSyncServerContentsServiceGetListTitle::CSmbMusicAPSyncServerContentsServiceGetListTitle(
DCM_NAMESPACE::RLog& aRlog,
CSmbMusicAPSyncServerModel& aModel,
MSmbMusicAPSyncServerContentsAsyncObserver& aObserver,
CSmbMusicAPSyncServerContentsFunc& aFunc,
MSmbMusicAPSyncServerContentsManagerInterface& aManagerInterface,
CSmbMusicAPSyncServerContentsScreenTraceManager& aScreenData,
const RMessage2& aRMessage
)
:CSmbMusicAPSyncServerContentsServiceBase(
aRlog, aModel, aObserver, aFunc, aManagerInterface, aScreenData, aRMessage
)
{
}
/**
* 僨僗僩儔僋僞
**/
CSmbMusicAPSyncServerContentsServiceGetListTitle::~CSmbMusicAPSyncServerContentsServiceGetListTitle()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetListTitle | EMusicAPSyncServerLocationNumber00;
_LIT(KServiceGetListTitleDestruct01, "ServerContentsServiceGetListTitle::~Destruct()");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetListTitleDestruct01);
#endif
delete iListTitle;
}
/**
* 僒乕價僗偺奐巒梫媮
*
* @return 僒乕價僗張棟偺宲懕忬嫷
**/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceGetListTitle::StartServiceL()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetListTitle | EMusicAPSyncServerLocationNumber01;
_LIT(KServiceGetListTitleStartServiceL01, "ServerContentsServiceGetListTitle::StartServiceL Start");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServiceGetListTitleStartServiceL01);
#endif
// RMessage偐傜僷儔儊乕僞撉崬
if (LoadParamL() == EFalse)
{ // 摨婜僄儞僕儞偐傜偺儊僢僙乕僕偑晄惓偩偭偨
MessageComplete(KErrArgument);
return ESmbMusicAPSyncServerContetnsServiceStateEnd;
}
CSmbMusicAPSyncServerContentsList* contentsList(NULL);
contentsList = iScreenData.GetList(iListHandle);
if (contentsList == NULL)
{ // 儕僗僩僴儞僪儖偵懳偡傞儕僗僩偑庢摼偱偒側偐偭偨応崌
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetListTitle | EMusicAPSyncServerLocationNumber02;
_LIT(KServiceGetListTitleStartServiceL02, "ServerContentsServiceGetListTitle::StartServiceL List not found");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetListTitleStartServiceL02);
#endif
MessageComplete(KErrNotFound);
return ESmbMusicAPSyncServerContetnsServiceStateEnd;
}
TPtr ptr = iListTitle -> Des();
contentsList -> GetDispInfo(ptr);
// ADD-S [iKeeper(TRK):9001] SS偵傛傞枹擖椡崁栚懳墳
CSmbMusicMWLibListItem& listItem = contentsList -> GetListItem();
TSmbMusicMWLibItemType itemType(listItem.ItemType());
if ((itemType != ESmbMusicMWLibItemTypeSong) &&
(itemType != ESmbMusicMWLibItemTypePL))
{ // 嬋傾僀僥儉丒僾儗僀儕僗僩傾僀僥儉埲奜偺応崌
TBuf<KSmbMusicAPSyncEngineMaxDispString> bufString;
if (ptr.Length() > 0)
{ // 儕僗僩僞僀僩儖桳
bufString = ptr;
bufString.Trim();
if (bufString.Length() == 0)
{ // 嬻敀暥帤偺傒偱峔惉偝傟偰偄偨応崌
ptr = KNullDesC; // 傾僾儕偵偼NULL暥帤偱曉偡
}
}
}
// ADD-E [iKeeper(TRK):9001] SS偵傛傞枹擖椡崁栚懳墳
TInt error = iRMessage.Write(KSmbMusicAPSyncEngineMsgOut1, ptr);
if (error != KErrNone)
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetListTitle | EMusicAPSyncServerLocationNumber03;
_LIT(KServiceGetListTitleStartServiceL04, "ServerContentsServiceGetListTitle::StartServiceL Res Message Write Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetListTitleStartServiceL04, error);
#endif
MessageComplete(error);
return ESmbMusicAPSyncServerContetnsServiceStateEnd;
}
MessageComplete(KErrNone);
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetListTitle | EMusicAPSyncServerLocationNumber04;
_LIT(KServiceGetListTitleStartServiceL04, "SyncServerContentsServiceGetListTitle::StartServiceL End");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLowest, KServiceGetListTitleStartServiceL04);
#endif
return ESmbMusicAPSyncServerContetnsServiceStateEnd;
}
/**
* 僒乕價僗僄儔乕捠抦
*
* @param[in] aError 僄儔乕僐乕僪
*
* @return 僒乕價僗張棟偺宲懕忬嫷
**/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceGetListTitle::ServiceErr(TInt aError)
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetListTitle | EMusicAPSyncServerLocationNumber05;
_LIT(KServiceGetListTitleServiceErr01, "SyncServerContentsServiceGetListTitle::ServiceErr(%d)");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetListTitleServiceErr01, aError);
#endif
// 摨婜張棟側偺偱屇偽傟側偄偼偢丅
return ESmbMusicAPSyncServerContetnsServiceStateErr;
}
/**
* 僒乕價僗僉儍儞僙儖捠抦
**/
void CSmbMusicAPSyncServerContentsServiceGetListTitle::CancelService()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetListTitle | EMusicAPSyncServerLocationNumber06;
_LIT(KServiceGetListTitleCancelService01, "SyncServerContentsServiceGetListTitle::CancelService()");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServiceGetListTitleCancelService01);
#endif
// 摨婜張棟側偺偱屇偽傟側偄偼偢丅
}
/**
* 僷儔儊乕僞撉崬
*
* @return 僷儔儊乕僞撉崬惉斲(ETrue:栤戣側偟丄EFalse:栤戣偁傝)
**/
TBool CSmbMusicAPSyncServerContentsServiceGetListTitle::LoadParamL()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetListTitle | EMusicAPSyncServerLocationNumber07;
_LIT(KServiceGetListTitleLoadParamL01, "SyncServerContentsServiceGetListTitle::LoadParamL");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServiceGetListTitleLoadParamL01);
#endif
// 摨婜僄儞僕儞偐傜偺梫媮儊僢僙乕僕偺撉崬
TInt maxLen = iRMessage.GetDesLength(KSmbMusicAPSyncEngineMsgIn1);
if (maxLen < sizeof(TSmbMusicAPSyncServerContentsReqPkg))
{ // 僋儔僀傾儞僩偐傜偺梫媮儊僢僙乕僕挿偑堎忢側応崌
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetListTitle | EMusicAPSyncServerLocationNumber08;
_LIT(KServiceGetListTitleLoadParamL02, "SyncServerContentsServiceGetListTitle::LoadParamL Argument In Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetListTitleLoadParamL02, maxLen);
#endif
return EFalse;
}
TInt error(KErrNone);
// 梫媮僷僢働乕僕偺撉崬
TSmbMusicAPSyncServerContentsReqPkg reqPkg;
TPckg<TSmbMusicAPSyncServerContentsReqPkg> pkg(reqPkg);
error = iRMessage.Read(KSmbMusicAPSyncEngineMsgIn1, pkg);
if (error != KErrNone)
{ // 僋儔僀傾儞僩偐傜偺梫媮儊僢僙乕僕偺撉崬偵幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetListTitle | EMusicAPSyncServerLocationNumber09;
_LIT(KServiceGetListTitleLoadParamL03, "SyncServerContentsServiceGetListTitle::LoadParamL ContentsReqPkg Load Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetListTitleLoadParamL03, error);
#endif
return EFalse;
}
// 僞僀僩儖庢摼懳徾偺儕僗僩僴儞僪儖
iListHandle = reqPkg.iData.iListTitle.iListHandle;
// 彂偒弌偡僶僢僼傽偺嵟戝悢暘僶僢僼傽傪嶌惉偡傞昁梫偑偁傞偨傔丄
// 偙偙偼GetDesMaxLength傪巊梡偡傞丅
TInt titleLength = iRMessage.GetDesMaxLength(KSmbMusicAPSyncEngineMsgOut1);
if (titleLength < 0 )
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetListTitle | EMusicAPSyncServerLocationNumber10;
_LIT(KServiceGetListTitleLoadParamL04, "SyncServerContentsServicePLMakeNewList::LoadParamL no enough Length:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetListTitleLoadParamL04, titleLength);
#endif
return EFalse;
}
delete iListTitle;
iListTitle = NULL;
iListTitle = HBufC::NewL(titleLength);
return ETrue;
}
// end of SmbMusicAPSyncServerContentsServiceGetListTitle.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -