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

📄 smbmusicapsyncservercontentsserviceplprepareorderitem.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 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 + -