📄 smbmusicapsyncservercontentsitem.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 + -