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

📄 smbmusicapsyncservercontentsitem.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPSyncServerContentsItem.cpp
//
// Description:
//	PTX810 Music傾僾儕 摨婜僒乕僶 僐儞僥儞僣僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰			|撪梕
//--------------+---------------+--------------------------------------
//2006/06/08	|SDNA 壀嶳		| 怴婯嶌惉
//2006/10/10	|K3悪杮			| 儘僌廋惓
//----PTX824----+---------------+--------------------------------------
//2007/04/02	|K3悪杮			| PTX824懳墳(嵞惗惂尷忣曬曐帩)
//2007/06/19	|K3悪杮			| 婜尷愗傟僒僽僗僋儕僾僔儑儞僌儗乕昞帵懳墳


#ifndef __SMBMUSICAPSYNCSERVERCONTENTSITEM_H__
#include "SmbMusicAPSyncServerContentsItem.h"
#endif


//ADD-S 婜尷愗傟僒僽僗僋儕僾僔儑儞僌儗乕昞帵懳墳
#ifndef __SMBMUSICMWLIBCLIENT_H__
#include <SmbMusicMWLibClient.h>
#endif	//  __SMBMUSICMWLIBCLIENT_H__


#ifndef	__SMBMUSICAPSYNCSERVERCONVERTER_H__
#include "SmbMusicAPSyncServerConverter.h"
#endif	//  __SMBMUSICAPSYNCSERVERCONVERTER_H__
//ADD-E 婜尷愗傟僒僽僗僋儕僾僔儑儞僌儗乕昞帵懳墳

#ifndef __SMBMUSICAPSYNCSERVERUTIL_H__
#include "SmbMusicAPSyncServerUtil.h"
#endif


USING_NAMESPACE_SEMCJ

/**
 *  僼傽僋僩儕娭悢
 *
 *  @param[in]	aLog		RLog偺嶲徠
 *  @param[in]	aIndex		堦棗偱偺僀儞僨僢僋僗
 *  @param[in]	aDispString	昞帵梡暥帤楍
 *  @param[in]	aAvailable	傾僀僥儉偺棙梡壜斲忣曬(僨僼僅儖僩:棙梡壜)
 *  @param[in]	aLimitation	嵞惗惂尷忣曬(僨僼僅儖僩:惂尷柍偟)
 *
 *  @return	惗惉偝傟偨僐儞僥儞僣傾僀僥儉僋儔僗傊偺億僀儞僞
 */
//  MODIFY-S PTX824 k3-sugimoto
CSmbMusicAPSyncServerContentsItem* CSmbMusicAPSyncServerContentsItem::NewL(
		DCM_NAMESPACE::RLog& aLog,
		TInt aIndex,
		const TDesC& aDispString,
		TInt aAvailable/*=ESmbMusicAPSyncEngineOK*/,
		TSmbMusicAPSyncEngineLimitation aLimitation/*=ESmbMusicAPSyncEngineLimitNone*/
		)
//  MODIFY-E PTX824 k3-sugimoto
	{
//  MODIFY-S PTX824 k3-sugimoto
	CSmbMusicAPSyncServerContentsItem* self = new(ELeave) CSmbMusicAPSyncServerContentsItem(aLog, aIndex, aAvailable, aLimitation);
//  MODIFY-E PTX824 k3-sugimoto
	CleanupStack::PushL(self);
	self->ConstructL(aDispString);
	CleanupStack::Pop();		// self
	return self;
	}


/**
 僨僗僩儔僋僞
 * @param	側偟
 * @return	側偟
 */
CSmbMusicAPSyncServerContentsItem::~CSmbMusicAPSyncServerContentsItem()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsItem00, "SyncServerContentsList::~CSmbMusicAPSyncServerContentsItem()");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsItem|EMusicAPSyncServerLocationNumber00),
							ELogLevelLowest,
							KContentsItem00);
#endif
	delete iDispString;
	iDispString = 0;
	}


/**
 昞帵暥帤楍傪庢摼偡傞
 * @param	側偟
 * @return	昞帵暥帤楍
 */
HBufC* CSmbMusicAPSyncServerContentsItem::GetDispString()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsItem01, "SyncServerContentsList::GetDispString()");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsItem|EMusicAPSyncServerLocationNumber01),
							ELogLevelLowest,
							KContentsItem01);
#endif
	if(iDispString)
		{
		TInt length = iDispString->Length();
		if(0<length)
			{
			HBufC* des = 0;
			TRAPD(err, des = HBufC::NewL(length););
			if (KErrNone == err)
				{
				*des = *iDispString;
				return des;
				}
			else
				{
				_LIT(KContentsItem02, "SyncServerContentsItem::GetDispString() HBufC::NewL() Leave %d");
				SmbMusicAPSyncServerLog(iLog,
										(EMusicAPSyncServerClassNumber_ContentsItem|EMusicAPSyncServerLocationNumber02),
										ELogLevelHighest,
										KContentsItem02,
										err);
				ASSERT(EFalse);
				}
			}
		}
	return 0;
	}


/**
 傾僀僥儉偺棙梡壜斲忣曬傪庢摼偡傞
 * @param	側偟
 * @return	傾僀僥儉偺棙梡壜斲忣曬
 */
TInt CSmbMusicAPSyncServerContentsItem::GetAvailable()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsItem03, "SyncServerContentsList::GetAvailable() return:0x%08x");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsItem|EMusicAPSyncServerLocationNumber03),
							ELogLevelLowest,
							KContentsItem03,
							iAvailable);
#endif
	return iAvailable;
	}


/**
 傾僀僥儉偺棙梡壜斲忣曬傪愝掕偡傞
 * @param	傾僀僥儉偺棙梡壜斲忣曬
 * @return	側偟
 */
void CSmbMusicAPSyncServerContentsItem::SetAvailable(TInt aAvailable)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsItem04, "SyncServerContentsList::SetAvailable(aAvailable:0x%08x)");
	SmbMusicAPSyncServerLog(iLog,
							(EMusicAPSyncServerClassNumber_ContentsItem|EMusicAPSyncServerLocationNumber04),
							ELogLevelLowest,
							KContentsItem04,
							aAvailable);
#endif
	iAvailable = aAvailable;
	}


/**
 堦棗撪偱偺僀儞僨僢僋僗偺庢摼
 * @param	側偟
 * @return	僀儞僨僢僋僗
 */
TInt CSmbMusicAPSyncServerContentsItem::GetIndex()
	{
//#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
//	_LIT(KContentsItem05, "SyncServerContentsList::GetIndex() return:%d");
//	SmbMusicAPSyncServerLog(iLog,
//							(EMusicAPSyncServerClassNumber_ContentsItem|EMusicAPSyncServerLocationNumber05),
//							ELogLevelLowest,
//							KContentsItem05,
//							iIndex);
//#endif
	return iIndex;
	}


//  ADD-S PTX824 k3-sugimoto
/**
 *  嵞惗惂尷忣曬愝掕
 *
 *  @param[in]	aLimitation	嵞惗惂尷忣曬
 **/
void CSmbMusicAPSyncServerContentsItem::SetLimitation(TSmbMusicAPSyncEngineLimitation aLimitation)
	{
	iLimitation = aLimitation;
	}


/**
 *  嵞惗惂尷忣曬庢摼
 *
 *  @return	嵞惗惂尷忣曬
 **/
TSmbMusicAPSyncEngineLimitation CSmbMusicAPSyncServerContentsItem::Limitation()
	{
	return iLimitation;
	}

/**
 *  嵞惗惂尷忣曬愝掕
 *
 *  @param[in]	嵞惗惂尷忣曬愝掕
 **/
void CSmbMusicAPSyncServerContentsItem::SetSongLimit(TSmbMusicMWLibSongLimit aSongLimit)
	{
	if (aSongLimit.iLimitation != ESmbMusicMWLibLimitSubscription)
		{
		return;
		}

	iLimitation 	= TSmbMusicAPSyncServerConverter::ConvertLimitation(aSongLimit.iLimitation, &iLog);	//  嵞惗惂尷庬暿
	iRtcErrHistory	= aSongLimit.iRtcErrHistory;	//  RTC僄儔乕棜楌忬懺
	iExpireDate		= aSongLimit.iExpireDate;		//  僒僽僗僋儕僾僔儑儞偺嵞惗婜尷
	iGracePeriod	= aSongLimit.iGracePeriod;		//  僒僽僗僋儕僾僔儑儞偺僌儗乕僗僺儕僆僪(擔悢)
	iIsExistCpInfo	= aSongLimit.iIsExistCpInfo;	//  尃棙忣曬桳柍僼儔僌
	}

/**
 *  嵞惗惂尷忣曬庢摼
 *
 *  @param[out]	嵞惗惂尷忣曬愝掕
 *  @return	庢摼寢壥(KErrNone:惓忢姰椆丄KErrNotSupported:庢摼忣曬柍偟)
 **/
TInt CSmbMusicAPSyncServerContentsItem::GetSongLimit(TSmbMusicMWLibSongLimit& aSongLimit)
	{
	if (iLimitation != ESmbMusicAPSyncEngineLimitSubscription)
		{
		return KErrNotSupported;
		}

	aSongLimit.iLimitation 		= ESmbMusicMWLibLimitSubscription;	//  嵞惗惂尷庬暿(僒僽僗僋儕僾僔儑儞寛傔偆偪)
	aSongLimit.iRtcErrHistory	= iRtcErrHistory;	//  RTC僄儔乕棜楌忬懺
	aSongLimit.iExpireDate		= iExpireDate;		//  僒僽僗僋儕僾僔儑儞偺嵞惗婜尷
	aSongLimit.iGracePeriod		= iGracePeriod;		//  僒僽僗僋儕僾僔儑儞偺僌儗乕僗僺儕僆僪(擔悢)
	aSongLimit.iIsExistCpInfo	= iIsExistCpInfo;	//  尃棙忣曬桳柍僼儔僌

	return KErrNone;
	}
//  ADD-E 婜尷愗傟僒僽僗僋儕僾僔儑儞僌儗乕昞帵懳墳
//  ADD-E PTX824 k3-sugimoto

/**
 *  僐儞僗僩儔僋僞
 *
 *  @param[in]	aLog		RLog偺嶲徠
 *  @param[in]	aIndex		堦棗偱偺僀儞僨僢僋僗
 *  @param[in]	aAvailable	傾僀僥儉偺棙梡壜斲忣曬
 *  @param[in]	aLimitation	嵞惗惂尷忣曬
 */
//  MODIFY-S PTX824 k3-sugimoto
CSmbMusicAPSyncServerContentsItem::CSmbMusicAPSyncServerContentsItem(
		DCM_NAMESPACE::RLog& aLog,
		TInt aIndex,
		TInt aAvailable,
		TSmbMusicAPSyncEngineLimitation aLimitation
		)
	: iLog(aLog), iIndex(aIndex), iAvailable(aAvailable), iLimitation(aLimitation)
//  MODIFY-E PTX824 k3-sugimoto
	{
	}


/**
 2僼僃乕僘僐儞僗僩儔僋僞
 * @param [in]	aDispString		昞帵暥帤楍
 * @return	側偟
 */
void CSmbMusicAPSyncServerContentsItem::ConstructL(const TDesC& aDispString)
	{
	TInt length = aDispString.Length();
	if(0 < length)
		{
		iDispString	 = HBufC::NewL(length);
		*iDispString = aDispString;
		}
	}


// end of SmbMusicAPSyncServerContentsItem.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -