📄 smbmusicapsyncservercontentsservicegetitemcount.cpp
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerContentsServiceGetItemCount.cpp
//
// Description:
// 儕僗僩撪偺傾僀僥儉悢庢摼梫媮僒乕價僗
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+-----------+----------------------------------------------
//2006/06/16 |K3悪杮 | 怴婯嶌惉
//2006/07/06 |K3悪杮 | 僋儔僀傾儞僩偐傜偺僴儞僪儖庢摼傪廋惓丄儘僌僐乕僪廋惓
//2006/09/26 |K3悪杮 | 儘僌廋惓
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICEGETITEMCOUNT_H__
#include "SmbMusicAPSyncServerContentsServiceGetItemCount.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSSERVICEGETITEMCOUNT_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 僋儔僀傾儞僩偐傜偺儊僢僙乕僕
**/
CSmbMusicAPSyncServerContentsServiceGetItemCount::CSmbMusicAPSyncServerContentsServiceGetItemCount(
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
)
{
}
/**
* 僨僗僩儔僋僞
**/
CSmbMusicAPSyncServerContentsServiceGetItemCount::~CSmbMusicAPSyncServerContentsServiceGetItemCount()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetItemCount | EMusicAPSyncServerLocationNumber00;
_LIT(KServiceGetItemCountDestruct01, "ServerContentsServiceGetItemCount::~Destruct()");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetItemCountDestruct01);
#endif
}
/**
* 僒乕價僗偺奐巒梫媮
*
* @return 僒乕價僗張棟偺宲懕忬嫷
**/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceGetItemCount::StartServiceL()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetItemCount | EMusicAPSyncServerLocationNumber01;
_LIT(KServiceGetItemCountStartServiceL01, "ServerContentsServiceGetItemCount::StartServiceL Start");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServiceGetItemCountStartServiceL01);
#endif
// RMessage偐傜僷儔儊乕僞撉崬
if (LoadParam() == EFalse)
{ // 摨婜僄儞僕儞偐傜偺儊僢僙乕僕偑晄惓偩偭偨
MessageComplete(KErrArgument);
return ESmbMusicAPSyncServerContetnsServiceStateEnd;
}
CSmbMusicAPSyncServerContentsList* contentsList(NULL);
contentsList = iScreenData.GetList(iListHandle);
if (contentsList == NULL)
{ // 儕僗僩僴儞僪儖偵懳偡傞儕僗僩偑庢摼偱偒側偐偭偨応崌
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetItemCount | EMusicAPSyncServerLocationNumber02;
_LIT(KServiceGetItemCountStartServiceL02, "ServerContentsServiceGetItemCount::StartServiceL List not found");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetItemCountStartServiceL02);
MessageComplete(KErrNotFound);
return ESmbMusicAPSyncServerContetnsServiceStateEnd;
}
// 傾僀僥儉悢庢摼
TInt count = contentsList -> GetItemCount();
if (count < 0 )
{ // 傾僀僥儉悢庢摼偱僄儔乕
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetItemCount | EMusicAPSyncServerLocationNumber03;
_LIT(KServiceGetItemCountStartServiceL03, "ServerContentsServiceGetItemCount::StartServiceL GetItemCount Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetItemCountStartServiceL03, count);
}
MessageComplete(count);
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetItemCount | EMusicAPSyncServerLocationNumber04;
_LIT(KServiceGetItemCountStartServiceL04, "SyncServerContentsServiceGetItemCount::StartServiceL End(Count=%d)");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLowest, KServiceGetItemCountStartServiceL04, count);
#endif
return ESmbMusicAPSyncServerContetnsServiceStateEnd;
}
/**
* 僒乕價僗僄儔乕捠抦
*
* @param[in] aError 僄儔乕僐乕僪
*
* @return 僒乕價僗張棟偺宲懕忬嫷
**/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceGetItemCount::ServiceErr(TInt aError)
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetItemCount | EMusicAPSyncServerLocationNumber05;
_LIT(KServiceGetItemCountServiceErr01, "SyncServerContentsServiceGetItemCount::ServiceErr(%d)");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetItemCountServiceErr01, aError);
#endif
// 摨婜張棟側偺偱屇偽傟側偄偼偢丅
return ESmbMusicAPSyncServerContetnsServiceStateErr;
}
/**
* 僒乕價僗僉儍儞僙儖捠抦
**/
void CSmbMusicAPSyncServerContentsServiceGetItemCount::CancelService()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetItemCount | EMusicAPSyncServerLocationNumber06;
_LIT(KServiceGetItemCountCancelService01, "SyncServerContentsServiceGetItemCount::CancelService()");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServiceGetItemCountCancelService01);
#endif
}
/**
* 僷儔儊乕僞撉崬
*
* @return 僷儔儊乕僞撉崬惉斲(ETrue:栤戣側偟丄EFalse:栤戣偁傝)
**/
TBool CSmbMusicAPSyncServerContentsServiceGetItemCount::LoadParam()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetItemCount | EMusicAPSyncServerLocationNumber07;
_LIT(KServiceGetItemCountLoadParam01, "SyncServerContentsServiceGetItemCount::LoadParam");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServiceGetItemCountLoadParam01);
#endif
// 摨婜僄儞僕儞偐傜偺梫媮儊僢僙乕僕偺撉崬
TInt maxLen = iRMessage.GetDesLength(KSmbMusicAPSyncEngineMsgIn1);
if (maxLen < sizeof(TSmbMusicAPSyncServerContentsReqPkg))
{ // 僋儔僀傾儞僩偐傜偺梫媮儊僢僙乕僕挿偑堎忢側応崌
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetItemCount | EMusicAPSyncServerLocationNumber08;
_LIT(KServiceGetItemCountLoadParam02, "SyncServerContentsServiceGetItemCount::LoadParam Argument In Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetItemCountLoadParam02, maxLen);
return EFalse;
}
TInt error(KErrNone);
// 梫媮僷僢働乕僕偺撉崬
TSmbMusicAPSyncServerContentsReqPkg reqPkg;
TPckg<TSmbMusicAPSyncServerContentsReqPkg> pkg(reqPkg);
error = iRMessage.Read(KSmbMusicAPSyncEngineMsgIn1, pkg);
if (error != KErrNone)
{ // 僋儔僀傾儞僩偐傜偺梫媮儊僢僙乕僕偺撉崬偵幐攕
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetItemCount | EMusicAPSyncServerLocationNumber09;
_LIT(KServiceGetItemCountLoadParam03, "SyncServerContentsServiceGetItemCount::LoadParam ContentsReqPkg Load Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetItemCountLoadParam03, error);
return EFalse;
}
// 傾僀僥儉悢庢摼懳徾偺儕僗僩僴儞僪儖
iListHandle = reqPkg.iData.iItemCount.iListHandle;
return ETrue;
}
// end of SmbMusicAPSyncServerContentsServiceGetItemCount.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -