📄 smbmusicapsyncservercontentsserviceplprepareorderitem.cpp
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerContentsServicePLTitleEdit.cpp
//
// Description:
// 僾儗僀儕僗僩嬋弴曄峏奐巒梫媮僒乕價僗
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+-----------+----------------------------------------------
//2006/06/12 |K3悪杮 | 怴婯嶌惉
//2006/07/14 |K3悪杮 | 惓忢廔椆帪偵Complete偟偰偄側偐偭偨栤戣偺廋惓
// | | 儘僌弌椡廋惓
//2006/10/20 |K3悪杮 | 僐儊儞僩廋惓
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICEPLPREPAREORDERITEM_H__
#include "SmbMusicAPSyncServerContentsServicePLPrepareOrderItem.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSSERVICEPLPREPAREORDERITEM_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__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSPLORDERMANAGER_H__
#include "SmbMusicAPSyncServerContentsPLOrderManager.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSPLORDERMANAGER_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSMANAGERINTERFACE_H__
#include "SmbMusicAPSyncServerContentsManagerInterface.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSMANAGERINTERFACE_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 僋儔僀傾儞僩偐傜偺儊僢僙乕僕
**/
CSmbMusicAPSyncServerContentsServicePLPrepareOrderItem::CSmbMusicAPSyncServerContentsServicePLPrepareOrderItem(
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
)
{
}
/**
* 僨僗僩儔僋僞
**/
CSmbMusicAPSyncServerContentsServicePLPrepareOrderItem::~CSmbMusicAPSyncServerContentsServicePLPrepareOrderItem()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLPrepareOrderItem | EMusicAPSyncServerLocationNumber00;
_LIT(KServicePLPrepareOrderItemDestruct01, "SyncServerContentsServicePLPrepareOrderItem::~Destruct()");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLPrepareOrderItemDestruct01);
#endif
}
/**
* 僒乕價僗偺奐巒梫媮
*
* @return 僒乕價僗張棟偺宲懕忬嫷
**/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServicePLPrepareOrderItem::StartServiceL()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLPrepareOrderItem | EMusicAPSyncServerLocationNumber01;
_LIT(KServicePLPrepareOrderItemStartServiceL01, "SyncServerContentsServicePLPrepareOrderItem::StartServiceL Start");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLPrepareOrderItemStartServiceL01);
#endif
TSmbMusicAPSyncServerContentsPLOrderStatus orderStatus(iManagers.PLOrderManager().OrderStatus());
if (orderStatus != ESmbMusicAPSyncServerContentsPLOrderStateIdle)
{ // 僾儗僀儕僗僩暲懼儅僱乕僕儍偑暲傃懼偊張棟拞偺応崌
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLPrepareOrderItem | EMusicAPSyncServerLocationNumber02;
_LIT(KServicePLPrepareOrderItemStartServiceL02, "SyncServerContentsServicePLPrepareOrderItem::StartServiceL Now Ordering:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLPrepareOrderItemStartServiceL02, orderStatus);
#endif
MessageComplete(KErrInUse);
return ESmbMusicAPSyncServerContetnsServiceStateEnd;
}
// RMessage偐傜僷儔儊乕僞撉崬
if (LoadParam() == EFalse)
{ // 摨婜僄儞僕儞偐傜偺儊僢僙乕僕偑晄惓偩偭偨
MessageComplete(KErrArgument);
return ESmbMusicAPSyncServerContetnsServiceStateEnd;
}
// 僾儗僀儕僗僩傾僀僥儉庢摼
CSmbMusicAPSyncServerContentsList* contentsList(NULL);
contentsList = iScreenData.GetList(iListHandle);
if (contentsList == NULL)
{ // 儕僗僩偺庢摼偵幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLPrepareOrderItem | EMusicAPSyncServerLocationNumber03;
_LIT(KServicePLPrepareOrderItemStartServiceL03, "SyncServerContentsServicePLPrepareOrderItem::StartServiceL GetList Error");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLPrepareOrderItemStartServiceL03);
#endif
MessageComplete(KErrNotFound);
return ESmbMusicAPSyncServerContetnsServiceStateEnd;
}
// 庢摼偟偨僾儗僀儕僗僩傾僀僥儉偵懳偟偰嬋弴曄峏奐巒梫媮傪峴偆
TInt retState(KErrNone);
CSmbMusicMWLibPLItem& plItem = static_cast<CSmbMusicMWLibPLItem&>(contentsList -> GetListItem());
retState = iManagers.PLOrderManager().PrepareOrderItem(iListHandle, &plItem);
if (retState != KErrNone)
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLPrepareOrderItem | EMusicAPSyncServerLocationNumber04;
_LIT(KServicePLPrepareOrderItemPrepareOrderItem04, "SyncServerContentsServicePLPrepareOrderItem::PrepareOrderItem() Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLPrepareOrderItemPrepareOrderItem04, retState);
#endif
MessageComplete(retState);
return ESmbMusicAPSyncServerContetnsServiceStateEnd;
}
MessageComplete(KErrNone);
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLPrepareOrderItem | EMusicAPSyncServerLocationNumber05;
_LIT(KServicePLPrepareOrderItemStartServiceL05, "SyncServerContentsServicePLPrepareOrderItem::StartServiceL End");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLowest, KServicePLPrepareOrderItemStartServiceL05);
#endif
return ESmbMusicAPSyncServerContetnsServiceStateEnd;
}
/**
* 僒乕價僗僄儔乕捠抦
*
* @param[in] aError 僄儔乕僐乕僪
*
* @return 僒乕價僗張棟偺宲懕忬嫷
**/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServicePLPrepareOrderItem::ServiceErr(TInt aError)
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLPrepareOrderItem | EMusicAPSyncServerLocationNumber06;
_LIT(KServicePLPrepareOrderItemServiceErr01, "SyncServerContentsServicePLPrepareOrderItem::ServiceErr(%d)");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLPrepareOrderItemServiceErr01, aError);
#endif
// 摨婜張棟側偺偱屇偽傟側偄偼偢丅
return ESmbMusicAPSyncServerContetnsServiceStateErr;
}
/**
* 僒乕價僗僉儍儞僙儖捠抦
**/
void CSmbMusicAPSyncServerContentsServicePLPrepareOrderItem::CancelService()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLPrepareOrderItem | EMusicAPSyncServerLocationNumber07;
_LIT(KServicePLPrepareOrderItemCancelService01, "SyncServerContentsServicePLPrepareOrderItem::CancelService()");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLPrepareOrderItemCancelService01);
#endif
// 摨婜張棟側偺偱屇偽傟側偄偼偢丅
}
/**
* 僷儔儊乕僞撉崬
*
* @return 僷儔儊乕僞撉崬惉斲(ETrue:栤戣側偟丄EFalse:栤戣偁傝)
**/
TBool CSmbMusicAPSyncServerContentsServicePLPrepareOrderItem::LoadParam()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLPrepareOrderItem | EMusicAPSyncServerLocationNumber08;
_LIT(KServicePLPrepareOrderItemLoadParam01, "SyncServerContentsServicePLPrepareOrderItem::LoadParam");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLPrepareOrderItemLoadParam01);
#endif
// 摨婜僄儞僕儞偐傜偺梫媮儊僢僙乕僕偺撉崬
TInt maxLen = iRMessage.GetDesLength(KSmbMusicAPSyncEngineMsgIn1);
if (maxLen < sizeof(TSmbMusicAPSyncServerContentsReqPkg))
{ // 僋儔僀傾儞僩偐傜偺梫媮儊僢僙乕僕挿偑堎忢側応崌
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLPrepareOrderItem | EMusicAPSyncServerLocationNumber09;
_LIT(KServicePLPrepareOrderItemLoadParam02, "SyncServerContentsServicePLPrepareOrderItem::LoadParam Argument 1 Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLPrepareOrderItemLoadParam02, 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_ContentsServicePLPrepareOrderItem | EMusicAPSyncServerLocationNumber10;
_LIT(KServicePLPrepareOrderItemLoadParam03, "SyncServerContentsServicePLPrepareOrderItem::LoadParam ContentsReqPkg Load Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLPrepareOrderItemLoadParam03, error);
#endif
return EFalse;
}
// 暲懼懳徾僾儗僀儕僗僩
iListHandle = reqPkg.iData.iPreOrderItem.iListHandle;
return ETrue;
}
// end of SmbMusicAPSyncServerContentsServicePLPrepareOrderItem.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -